Pular para o conteúdo principal

O que é E/S preditiva?

O Predictive I/O é um conjunto de otimizações do Databricks que melhora o desempenho das interações de dados. Os recursos preditivos de E/S estão agrupados nas seguintes categorias:

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

O Predictive I/O é exclusivo do mecanismo Photon no Databricks.

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.

important

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 Predictive I/O melhora o desempenho da varredura aplicando técnicas de aprendizagem profunda para fazer o seguinte:

  • Determine o padrão de acesso mais eficiente para ler os dados e escanear somente os dados 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 consultas seletivas que correspondam a uma linha. À medida que as consultas são executadas, usamos essas probabilidades para prever onde a próxima linha correspondente ocorreria e ler apenas esses dados do armazenamento em nuvem.

Use E/S preditiva para acelerar as atualizações

A E/S preditiva para atualizações é usada automaticamente para todas as tabelas que têm vetores de exclusão habilitados usando os seguintes tipos de compute habilitados para Photon:

  • sem servidor SQL warehouse.
  • Pro SQL warehouse.
  • clustering executando Databricks Runtime 14.0 e acima.
nota

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 O que são vetores de exclusão? .

important

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

O senhor habilita o suporte para vetores de exclusão em uma tabela Delta Lake definindo uma propriedade da tabela Delta Lake. Você ativa vetores de exclusão durante a criação da tabela ou altera uma tabela existente, como nos exemplos a seguir:

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

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

Quando você ativa os vetores de exclusão, a versão do protocolo da tabela é atualizada. Após a atualização, a tabela não poderá ser lida por clientes Delta Lake que não suportam vetores de exclusão. Consulte Como Databricks o Delta Lake senhor pode gerenciar a compatibilidade do recurso?

Para obter uma lista de clientes que suportam vetores de exclusão, consulte Compatibilidade com clientes Delta.

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 Delta table recurso.

A E/S preditiva aproveita os vetores de exclusão para acelerar as atualizações, reduzindo a frequência de reescritas de arquivos completos durante a modificação de dados em tabelas Delta. O Predictive I/O otimiza as operações 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.

important

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

  • O Delta Sharing não é suportado em 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.