Partilhar via


O que é Entrada/Saída preditiva?

A I/O Preditiva é uma coleção de otimizações Azure Databricks que melhoram o desempenho das interações de dados. As capacidades preditivas de I/O estão agrupadas nas seguintes categorias:

  • Leituras aceleradas reduzem o tempo necessário para varrer e ler dados.
  • As atualizações aceleradas reduzem a quantidade de dados que precisam de ser reescritos durante atualizações, eliminações e fusões.

A I/O Preditiva é exclusiva do motor Photon no Azure Databricks.

Use E/S preditiva para acelerar as leituras

A Entrada/Saída Preditiva é utilizada para acelerar o desempenho na leitura e filtragem de dados para todos os tipos de operações nos tipos de computação suportados.

Important

As leituras preditivas de I/O são suportadas pelos tipos Serverless e Pro de armazenamentos SQL, bem como Clusters acelerados por Photon que utilizam o Databricks Runtime 11.3 LTS e versões superiores.

A E/S Preditiva melhora o desempenho da varredura aplicando técnicas de aprendizagem profunda para fazer o seguinte:

  • Determinar o padrão de acesso mais eficiente para ler os dados e escanear apenas os dados realmente necessários.
  • Elimine 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 correspondam a uma linha. À medida que as consultas são executadas, usamos estas probabilidades para antecipar onde ocorreria a próxima linha correspondente e só lemos esses dados do armazenamento na cloud.

Utilize E/S preditiva para acelerar atualizações

As operações de entrada/saída preditivas para atualizações são usadas automaticamente para todas as tabelas que tenham vetores de eliminação ativados, utilizando os seguintes tipos de computação com suporte para fotões:

  • Armazéns SQL sem servidor.
  • Armazéns SQL Profissionais.
  • Clusters em execução no Databricks Runtime 14.0 ou superior.

Note

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

Consulte O que são vetores de exclusão?.

Important

Uma configuração de administrador de espaço de trabalho controla se os vetores de exclusão são habilitados automaticamente para novas tabelas Delta. Consulte Ativar vetores de exclusão automáticos.

Ativa o suporte para vetores de eliminação numa tabela Delta Lake ao definir uma propriedade de tabela Delta Lake. Pode ativar vetores de eliminação durante a criação da tabela ou alterar uma tabela existente, como nos seguintes exemplos:

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

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

Warning

Quando ativas vetores de eliminação, a versão do protocolo de tabela é atualizada. Após a atualização, a tabela não será legível pelos clientes Delta Lake que não suportam vetores de exclusão. Consulte Compatibilidade de recursos e protocolos do Delta Lake.

Para uma lista de clientes que suportam vetores de eliminação, veja 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 uma funcionalidade da tabela Delta Lake e fazer downgrade do protocolo da tabela.

A I/O Preditiva aproveita vetores de eliminação para acelerar atualizações, reduzindo a frequência de reescritas completas de ficheiros durante a modificação de dados em tabelas Delta. A E/S preditiva otimiza as operações de DELETE, MERGE e UPDATE.

Em vez de reescrever todos os registos num ficheiro de dados quando qualquer registo é atualizado ou eliminado, a E/S preditiva utiliza vetores de eliminação para indicar que registos foram removidos dos ficheiros de dados de destino. Ficheiros de dados suplementares são usados para indicar atualizações.

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

Important

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

  • A Partilha Delta não é suportada em tabelas com vetores de eliminação ativados.
  • Não pode gerar um ficheiro manifesto para uma tabela com vetores de eliminação presentes. Execute REORG TABLE ... APPLY (PURGE) e certifique-se de que não estão a ser executadas operações de escrita concorrentes para gerar um manifesto.
  • Não podes gerar ficheiros manifestos incrementais para uma tabela com vetores de eliminação ativados.