Otimização preditiva para Unity Catalog gerenciar tabelas
Databricks permite a otimização preditiva pelo site default para todas as contas criadas após 11 de novembro de 2024.
A otimização preditiva elimina a necessidade de gerenciar manualmente as operações de manutenção para Unity Catalog gerenciar tabelas em Databricks.
Com a otimização preditiva ativada, o Databricks faz automaticamente o seguinte:
- Identifica tabelas que se beneficiariam de operações de manutenção e coloca essas operações em fila de espera para execução.
- Coleta estatísticas quando os dados são gravados em uma tabela gerenciadora.
As operações de manutenção são executadas conforme necessário, eliminando tanto a execução desnecessária de operações de manutenção quanto o ônus associado ao acompanhamento e à solução de problemas de desempenho.
Databricks recomenda o uso do líquido automático clustering e a otimização preditiva para todas as mesas gerenciadoras Unity Catalog. Esses recursos fornecem otimização inteligente da disposição de dados com base em seus padrões de uso de dados. Consulte Usar clustering líquido para tabelas Delta.
A otimização preditiva só é executada em Unity Catalog gerenciar tabelas.
A otimização preditiva não é executada em tabelas de transmissão ou visualizações materializadas criadas em Databricks SQL ou usando o pipeline DLT.
A otimização preditiva não está disponível em todas as regiões. Consulte AI e disponibilidade de recurso de aprendizado de máquina.
Quais operações a otimização preditiva executa?
A otimização preditiva executa as seguintes operações automaticamente para as tabelas habilitadas:
Operação | Descrição |
---|---|
| Aciona o clustering incremental para tabelas habilitadas. Consulte Usar clustering líquido para tabelas Delta. Melhora o desempenho da consulta ao otimizar o tamanho dos arquivos. Consulte Otimizar a disposição do arquivo de dados. |
| Reduz os custos de armazenamento excluindo arquivos de dados que não são mais referenciados pela tabela. Consulte Remover arquivos de dados não utilizados com o vacuum. |
| Aciona a atualização incremental das estatísticas para melhorar o desempenho da consulta. Consulte ANALYZE TABLE. |
(1) OPTIMIZE
não executa ZORDER
quando executado com otimização preditiva. Nas tabelas que usam Z-order, a otimização preditiva ignorará os arquivos Z-ordered.
Se o líquido automático clustering estiver ativado, a otimização preditiva poderá selecionar a nova chave clustering antes dos dados clustering. Consulte Usar clustering líquido para tabelas Delta.
A janela de retenção do comando VACUUM
é determinada pela propriedade da tabela delta.deletedFileRetentionDuration
, cujo padrão é 7 dias. Isso significa que o site VACUUM
remove os arquivos de dados que não são mais referenciados por uma versão da tabela Delta nos últimos 7 dias. Se o senhor quiser reter os dados por mais tempo (por exemplo, para suportar a viagem do tempo por mais tempo), deverá definir essa propriedade da tabela adequadamente antes de ativar a otimização preditiva, como no exemplo a seguir:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Onde a otimização preditiva é executada?
A otimização preditiva identifica tabelas que se beneficiariam de operações ANALYZE
, OPTIMIZE
e VACUUM
e as coloca em fila para execução usando serverless compute for Job. O senhor account é cobrado pelo compute associado a essas cargas de trabalho usando uma SKU específica para gerenciada pelo Databricks serviço. Consulte os preços para Databricks serviço gerenciado. Consulte Usar tabelas do sistema para rastrear a otimização preditiva.
Pré-requisitos para otimização preditiva
Você deve atender aos seguintes requisitos para permitir a otimização preditiva:
- Seu Databricks workspace deve estar no plano Premium em uma região que ofereça suporte à otimização preditiva. Veja recurso com disponibilidade regional limitada.
- O senhor deve usar SQL warehouse ou Databricks Runtime 12.2 LTS ou acima quando ativar a otimização preditiva.
- Somente as tabelas gerenciais do site Unity Catalog são compatíveis.
Permita a otimização preditiva
O senhor pode ativar a otimização preditiva para um account, um catálogo ou um esquema. Todas as tabelas gerenciar Unity Catalog herdam o valor account por default. O senhor pode substituir o site account default por um catálogo ou esquema para ativar ou desativar a otimização preditiva nesse nível.
Se o seu account foi criado após 11 de novembro de 2024, a otimização preditiva está habilitada para o seu account por default.
Você deve ter os seguintes privilégios para ativar ou desativar a otimização preditiva no nível especificado:
Objeto do Unity Catalog | Privilégio |
---|---|
Conta | Administrador da conta |
Catálogo | Proprietário do catálogo |
Esquema | Proprietário do esquema |
Ativar ou desativar a otimização preditiva para o seu account
Um administrador do account pode concluir as seguintes etapas para ativar a otimização preditiva para todos os metastores em um account. Os objetos no site account herdarão essa configuração por meio do site default (mas a configuração pode ser substituída no nível do catálogo ou do esquema):
- Acesse o console da conta.
- Navegue até Settings (Configurações ) e, em seguida, habilite o recurso .
- Selecione a opção a ser usada (por exemplo, Ativado ) ao lado de Otimização preditiva .
- As metástores em regiões que não oferecem suporte à otimização preditiva não estão habilitadas.
- Desativar a otimização preditiva no nível account não a desativa para catálogos ou esquemas que a tenham ativado especificamente.
Ativar ou desativar a otimização preditiva para um catálogo ou esquema
A otimização preditiva usa um modelo de herança. Quando habilitados para um catálogo, os esquemas herdam a propriedade. As tabelas dentro de um esquema ativado herdam a otimização preditiva. Para substituir esse comportamento de herança, você pode ativar ou desativar explicitamente a otimização preditiva para um catálogo ou esquema.
O senhor pode desativar a otimização preditiva no nível do catálogo ou do esquema antes de ativá-la no nível do site account. Se a otimização preditiva for ativada posteriormente no site account, ela será bloqueada para tabelas nesses objetos.
Use a sintaxe a seguir para ativar ou desativar a otimização preditiva ou para retornar ao site default de herança do objeto pai:
ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
Verifique se a otimização preditiva está ativada
O campo Predictive Optimization
é uma propriedade do Unity Catalog que detalha se a otimização preditiva está ativada. Se a otimização preditiva for herdada de um objeto pai, isso será indicado no valor do campo.
Use a sintaxe a seguir para ver se a otimização preditiva está ativada:
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
Use tabelas do sistema para rastrear a otimização preditiva
A Databricks fornece a tabela do sistema system.storage.predictive_optimization_operations_history
para observabilidade em operações de otimização preditiva, custos e impacto. Consulte a referência da tabela do sistema de otimização preditiva.
Limitações
A otimização preditiva não está disponível em todas as regiões. Veja recurso com disponibilidade regional limitada.
Para tabelas com duração de retenção de arquivos excluídos (delta.deletedFileRetentionDuration
) configurada abaixo do default de 7 dias, execução de otimização preditiva VACUUM
com duração de retenção especificada como 7 dias. Consulte Configurar a retenção de dados para consultas de viagem do tempo.
A otimização preditiva não realiza operações de manutenção nas tabelas a seguir:
- Tabelas carregadas em um workspace como destinatários do Delta Sharing.
- Tabelas externas.
- Visualização materializada. Consulte Usar a visualização materializada em Databricks SQL.
- tabelas de transmissão. Consulte as tabelas Load use de dados transmission em Databricks SQL.