Otimização preditiva para Unity Catalog gerenciar tabelas
Observação
Para todas as contas criadas após 11 de novembro de 2024, o site Databricks permite a otimização preditiva por meio do site default.
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.
Importante
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 Delta Live Tables.
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 ao excluir arquivos de dados que não são mais referenciados pela tabela. Consulte Remover arquivos de dados não utilizados com vácuo. |
|
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.
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.
Aviso
A janela de retenção do comando VACUUM
é determinada pela propriedade da tabela delta.deletedFileRetentionDuration
, cujo default é 7 dias. Isso significa que VACUUM
remove arquivos de dados que não são mais referenciados por uma versão da tabela Delta nos últimos 7 dias. Se desejar reter dados por mais tempo (como para dar suporte à viagem do tempo por uma duração mais longa), você deverá definir essa propriedade de 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 ocorre a execução da otimização preditiva?
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. Veja os preços para Databricks serviço gerenciado. A Databricks fornece tabelas de sistema para observabilidade em operações de otimização preditiva, custos e impacto. Consulte Usar tabelas do sistema para rastrear a otimização preditiva.
Pré-requisitos para otimização preditiva
Você deve atender aos seguintes requisitos para ativar a otimização preditiva:
O seu workspace Databricks deve estar no plano Premium ou acima numa região que suporte a otimização preditiva. Consulte clouds e regiões do Databricks.
Você deve usar SQL warehouse ou o Databricks Runtime 12.2 LTS ou acima ao habilitar a otimização preditiva.
Somente tabelas de gerenciamento do Catálogo Unity são suportadas.
Habilite 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.
Observação
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 Unity Catalog |
Privilégio |
---|---|
Conta |
Administrador da conta |
Catálogo |
Proprietário do catálogo |
Esquema |
Proprietário do esquema |
Observação
Quando o senhor ativa a otimização preditiva pela primeira vez, o site Databricks cria automaticamente uma entidade de serviço em seu site Databricks account. A Databricks usa essa entidade de serviço para executar as operações de manutenção solicitadas. Consulte gerenciar entidade de serviço.
Ativar ou desativar a otimização preditiva para sua conta
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 account .
Navegue até Configurações e, em seguida, habilitação de recursos.
Selecione a opção a ser usada (por exemplo, Ativado) ao lado de Otimização preditiva.
Observação
Metastores em regiões que não suportam a otimização preditiva não estão ativados.
Desativar a otimização preditiva no nível account não a desativa para catálogos ou esquemas que a tenham ativado especificamente.
Habilitar ou desabilitar 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.
Observação
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á habilitada
O campo Predictive Optimization
é uma propriedade do Unity Catalog que detalha se a otimização preditiva está habilitada. Se a otimização preditiva for herdada de um objeto pai, isso será indicado no valor do campo.
Use a seguinte sintaxe para ver se a otimização preditiva está habilitada:
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
Use tabelas do sistema para rastrear a otimização preditiva
Databricks fornece uma tabela de sistema para rastrear o histórico de operações de otimização preditiva. Consulte Referência de tabela do sistema de otimização preditiva.
Limitações
A otimização preditiva não está disponível em todas as regiões. Consulte clouds e regiões do Databricks.
A otimização preditiva não executa OPTIMIZE
comando em tabelas que usam Z-order.
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 executa operações de manutenção nas tabelas a seguir:
Tabelas carregadas em um workspace como destinatários de compartilhamento Delta.
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.