O que é E/S preditiva?
A E/S preditiva é uma coleção de otimizações do Databricks que aceleram a leitura e a atualização de dados:
- Leituras aceleradas aceleram queries seletivas que, de outra forma, escaneariam muito mais dados do que retornam.
- As atualizações aceleradas reduzem os dados reescritos quando uma atualização, exclusão ou merge altera apenas algumas linhas em um arquivo.
O I/O preditivo é exclusivo do motor Photon no Databricks. Consulte O que é Photon?.
Quando o I/O preditivo se aplica
O I/O preditivo é execução automaticamente. Você não o ativa para queries individuais. Para se beneficiar:
- Execução de queries em SQL Warehouse Serverless ou pro, ou em clusters habilitados para Photon. Consulte Usar E/S preditivo para acelerar leituras.
- Ative os vetores de exclusão em tabelas com operações frequentes de
DELETE,MERGEouUPDATEpara obter atualizações aceleradas. Consulte Usar I/O preditivo para acelerar as atualizações.
A E/S preditiva também substitui os índices de filtro de Bloom. Consulte Índices de filtro de Bloom (obsoleto).
Use E/S preditiva para acelerar as leituras
O Predictive I/O é usado para acelerar a varredura de dados e filtrar o desempenho de todas as operações nos tipos de compute suportados.
As leituras de E/S preditivas são compatíveis com os tipos serverless e pro do SQL warehouse e com o clustering acelerado por fótons que executa o Databricks Runtime 11.3 LTS e acima.
O I/O preditivo melhora o desempenho da digitalização aplicando técnicas de aprendizagem profunda para:
- Determine o padrão de acesso mais eficiente para ler os dados e digitalizar apenas os dados que são realmente necessários.
- Elimine a decodificação de colunas e linhas que não são necessárias para gerar resultados de consultas.
- Calcule as probabilidades dos critérios de pesquisa em query seletivas que correspondem a uma linha. À medida que as querys são executadas, o E/S Preditivo usa essas probabilidades para antecipar onde a próxima linha correspondente ocorre e lê apenas esses dados do armazenamento em cloud.
Use E/S preditiva para acelerar as atualizações
As atualizações preditivas de E/S são usadas automaticamente para todas as tabelas que possuem vetores de exclusão ativados nesses tipos de compute habilitados para Photon:
- sem servidor SQL warehouse.
- Pro SQL warehouse.
- clustering executando Databricks Runtime 14.0 e acima.
O suporte à E/S preditiva para atualizações está presente no Databricks Runtime 12.2 LTS e no acima, mas o Databricks recomenda o uso do 14.0 e do acima para obter o melhor desempenho.
Consulte Vetores de exclusão no Databricks.
Uma configuração de administrador de workspace controla se os vetores de exclusão são ativados automaticamente para novas tabelas do Delta Lake. Consulte Ative automaticamente vetores de exclusão.
Você ativa o suporte para vetores de exclusão em uma tabela Delta Lake definindo uma propriedade de tabela Delta Lake. Você ativa vetores de exclusão durante a criação da tabela ou altera uma tabela existente, por exemplo:
CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);
ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
Quando você habilita vetores de exclusão, a versão do protocolo de tabela é atualizada. Após a atualização, a tabela não pode ser lida por clientes do Delta Lake que não têm compatibilidade com vetores de exclusão. Consulte Compatibilidade e protocolos de recursos do Delta Lake.
Para obter uma lista de clientes que suportam vetores de exclusão, consulte Compatibilidade de clientes.
Em Databricks Runtime 14.1 e acima, o senhor pode eliminar o recurso da tabela de vetores de exclusão para permitir a compatibilidade com outros clientes Delta. Consulte Drop a Delta Lake table recurso e downgrade table protocol.
O E/S preditivo aproveita vetores de exclusão para acelerar atualizações reduzindo a frequência de reescritas completas de arquivos durante a modificação de dados em tabelas Delta Lake. O I/O preditivo otimiza operações de DELETE, MERGE e UPDATE.
Em vez de reescrever todos os registros em um arquivo de dados quando qualquer 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 suplementares são usados para indicar atualizações.
As leituras subsequentes na tabela resolvem o estado atual da tabela aplicando as alterações observadas à versão mais recente da tabela.
As atualizações preditivas de E/S compartilham todas as limitações com vetores de exclusão. No Databricks Runtime 12.2 LTS e acima, aplicam-se estas limitações:
- OpenSharing não é compatível com tabelas com vetores de exclusão ativados.
- Você não pode gerar um arquivo de manifesto para uma tabela com vetores de exclusão presentes. execução
REORG TABLE ... APPLY (PURGE)e garantir que nenhuma operação de gravação concorrente esteja em execução para gerar um manifesto. - Você não pode gerar arquivos de manifesto incrementalmente para uma tabela com vetores de exclusão ativados.