Share via


O que é E/S preditiva?

E/S preditiva é uma coleção de otimizações do Azure Databricks que melhoram o desempenho das interações de dados. As funcionalidades da E/S preditiva são agrupadas nas seguintes categorias:

  • As leituras aceleradas reduzem o tempo necessário para verificar e ler dados.
  • As atualizações aceleradas reduzem a quantidade de dados que precisam ser reescritos durante atualizações, exclusões e mesclagens.

A E/S preditiva é exclusiva do mecanismo do Photon no Azure Databricks.

Usar E/S preditiva para acelerar leituras

A E/S preditiva é usada para acelerar o desempenho de verificação e filtragem de dados para todas as operações nos tipos de computação com suporte.

Importante

As leituras de E/S preditiva são compatíveis com os tipos de SQL warehouses sem servidor e profissionais e clusters acelerados pelo Photon executando o Databricks Runtime 11.3 LTS e versões superiores.

A E/S preditiva melhora o desempenho da verificação aplicando técnicas de aprendizado profundo para fazer o seguinte:

  • Determinar o padrão de acesso mais eficiente para ler os dados e apenas verificar os dados que são realmente necessários.
  • Eliminar a decodificação de colunas e linhas que não são necessárias para gerar resultados de consulta.
  • Calcule as probabilidades dos critérios de pesquisa em consultas seletivas que correspondem a uma linha. À medida que as consultas são executadas, usamos essas probabilidades para prever onde a próxima linha correspondente ocorreria e ler somente esses dados do armazenamento em nuvem.

Usar E/S preditiva para acelerar atualizações

As E/S preditivas para atualizações são usadas automaticamente para todas as tabelas que têm vetores de exclusão habilitados usando os seguintes tipos de computação com o Photon habilitado:

  • SQL warehouses sem servidor.
  • SQL warehouses Pro.
  • Clusters executando o Databricks Runtime 14.0 e superior.

Observação

O suporte para E/S preditiva para atualizações está presente no Databricks Runtime 12.2 LTS e versões superiores, mas o Databricks recomenda usar a versão 14.0 e versões superiores para obter o melhor desempenho.

Confira O que são vetores de exclusão?

Importante

Uma configuração de administrador do workspace controla se os vetores de exclusão estão habilitados automaticamente para novas tabelas Delta. Consulte Habilitar automaticamente os vetores de exclusão.

Você deve habilitar o suporte a vetores de exclusão em uma tabela Delta Lake definindo uma propriedade de tabela Delta Lake. Você deve habilitar os vetores de exclusão durante a criação da tabela ou alterar uma tabela existente, como nos exemplos a seguir:

CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);

ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);

Aviso

Quando você habilita vetores de exclusão, a versão do protocolo de tabela é atualizada. Após a atualização, a tabela não será legível por clientes do Delta Lake que não dão suporte a vetores de exclusão. Confira Como o Azure Databricks gerencia a compatibilidade de recursos do Delta Lake?

Para obter uma lista de clientes que dão suporte a vetores de exclusão, confira Compatibilidade com clientes Delta.

No Databricks Runtime 14.1 e superior, você pode descartar o recurso de tabela de vetores de exclusão para habilitar a compatibilidade com outros clientes Delta. Consulte Remover os recursos da tabela Delta.

A E/S preditiva aproveita os vetores de exclusão para acelerar as atualizações, reduzindo a frequência de reescritas completas de arquivos durante a modificação de dados em tabelas Delta. A E/S preditiva otimiza operações DELETE, MERGEe UPDATE.

Em vez de reescrever todos os registros em um arquivo de dados quando um registro é atualizado ou excluído, a E/S preditiva usa vetores de exclusão para indicar que os registros foram removidos dos arquivos de dados de destino. Arquivos de dados complementares são usados para indicar atualizações.

As leituras subsequentes na tabela resolvem o estado atual da tabela aplicando as alterações indicadas à versão mais recente da tabela.

Importante

As atualizações de E/S preditivas compartilham todas as limitações com vetores de exclusão. No Databricks Runtime 12.2 LTS e versões superiores, existem as seguintes limitações:

  • Não há suporte para o Compartilhamento Delta em tabelas com vetores de exclusão habilitados.
  • Não é possível gerar um arquivo de manifesto para uma tabela com vetores de exclusão presentes. Execute REORG TABLE ... APPLY (PURGE) e certifique-se de que nenhuma operação de gravação simultânea está em execução para gerar um manifesto.
  • Não é possível gerar arquivos de manifesto incrementalmente para uma tabela com vetores de exclusão habilitados.