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.
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.
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 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.
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:
Seu Databricks workspace deve estar no plano Premium em uma região que ofereça suporte à otimização preditiva. Consulte as nuvens e regiões da 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.
A otimização preditiva não executa VACUUM
operações em tabelas com uma janela de retenção de arquivos configurada abaixo do default de 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.