O que é E/S preditiva?

E/S Preditiva é uma coleção de otimizações do Azure Databricks que aceleram a leitura e atualização dos dados:

  • Leituras aceleradas aceleram consultas seletivas que, de outra forma, escaneariam muito mais dados do que retornam.
  • Atualizações aceleradas reduzem os dados reescritos quando uma atualização, exclusão ou mescla altera apenas algumas linhas em um arquivo.

A E/S preditiva é exclusiva do mecanismo Photon no Azure Databricks. Confira O que é o Photon?.

Quando se aplica I/O preditivo

A E/S preditiva roda automaticamente. Você não ativa isso para consultas individuais. Para se beneficiar:

A E/S preditiva também substitui os índices do filtro de Bloom. Consulte índices de filtro Bloom (obsoletos).

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 com clusters acelerados pelo Photon que executam o Databricks Runtime 11.3 LTS e versões superiores.

A E/S Preditiva melhora o desempenho da varredura aplicando técnicas de aprendizado profundo para:

  • Determine o padrão de acesso mais eficiente para ler os dados e escaneie apenas os dados 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, o Predictive I/O usa essas probabilidades para antecipar onde ocorre a próxima linha correspondente e ler apenas esses dados do armazenamento em nuvem.

Usar E/S preditiva para acelerar atualizações

E/S preditiva para atualizações são usadas automaticamente para todas as tabelas que têm vetores de exclusão ativados nestes tipos de computação com Photon habilitado:

  • SQL warehouses sem servidor.
  • Armazéns de dados SQL 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.

Consulte vetores de exclusão no Databricks.

Importante

Uma configuração de administrador do workspace controla se vetores de exclusão são ativados automaticamente para novas tabelas Delta Lake. 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. É possível habilitar vetores de exclusão durante a criação da tabela ou alterar uma tabela existente, por exemplo:

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 é legível para clientes Delta Lake que não suportam vetores de exclusão. Consulte a compatibilidade de recursos e protocolos do Delta Lake.

Para obter uma lista de clientes que dão suporte a vetores de exclusão, consulte a compatibilidade do cliente.

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. Confira Remover um recurso de tabela do Delta Lake e fazer downgrade do protocolo de tabela.

A E/S preditiva utiliza vetores de exclusão para acelerar atualizações ao reduzir a frequência de reescritas completas de arquivos durante a modificação de dados nas tabelas Delta Lake. A E/S preditiva otimiza as operações DELETE, MERGE e 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 as mesmas limitações dos vetores de exclusão. No Databricks Runtime 12.2 LTS e superiores, estas limitações se aplicam:

  • Não há suporte para OpenSharing 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.