Partilhar via


Otimização preditiva para tabelas gerenciadas do Unity Catalog

Esta página descreve a otimização preditiva, que executa automaticamente operações de manutenção para tabelas geridas do Unity Catalog no Azure Databricks.

Nota

A otimização preditiva está ativada por defeito para contas criadas a partir de 11 de novembro de 2024. A Databricks começou a ativar contas existentes a 7 de maio de 2025. Este lançamento é gradual e espera-se que esteja concluído até abril de 2026. Para verificar se a sua conta já está ativada, consulte Verificar se a otimização preditiva está ativada.

Com a otimização preditiva ativada, o Databricks faz automaticamente o seguinte:

  • Identifica tabelas que beneficiariam de operações de manutenção e coloca essas operações em fila para serem executadas.
  • Coleta estatísticas quando os dados são gravados em uma tabela gerenciada.

Isto elimina manutenções desnecessárias e o encargo de monitorizar e resolver problemas manualmente.

A Databricks recomenda otimização preditiva para todas as tabelas geridas pelo Unity Catalog. Por exemplo, o agrupamento automático de líquidos utiliza a otimização inteligente do layout dos dados com base nos seus padrões de utilização de dados. Veja Utilizar clustering líquido para tabelas.

Quais operações a otimização preditiva executa?

A otimização preditiva executa as seguintes operações em tabelas geridas pelo Unity Catalog:

Operação Descrição
OPTIMIZE Desencadeia a clusterização incremental para tabelas habilitadas. Veja Utilizar clustering líquido para tabelas. Melhora o desempenho da consulta otimizando o tamanho dos arquivos. Consulte Otimizar layout do ficheiro de dados.
VACUUM 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 vácuo.
ANALYZE Aciona a atualização incremental de estatísticas para melhorar o desempenho da consulta. Consulte ANALYZE TABLE … CALCULAR ESTATÍSTICAS.

Nota

OPTIMIZE não funciona ZORDER quando executado por otimização preditiva. Em tabelas que usam a ordem Z, a otimização preditiva ignora ficheiros ordenados em Z.

Se o agrupamento de líquidos automático estiver ativado, a otimização preditiva poderá selecionar novas chaves de agrupamento antes de os dados serem agrupados. Consulte Agrupamento automático de líquidos.

Aviso

A janela de retenção para VACUUM é determinada pela delta.deletedFileRetentionDuration propriedade da tabela, que por defeito é de 7 dias. VACUUM remove ficheiros de dados que já não são referenciados por uma versão da tabela Delta dentro dessa janela. Para reter dados por períodos mais longos (por exemplo, para suportar viagens no tempo prolongadas), defina esta propriedade antes de ativar a otimização preditiva:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');

Computação e faturação

A otimização preditiva executa ANALYZE, OPTIMIZE, e VACUUM operações usando computação serverless para tarefas. A tua conta é faturada por este cálculo usando um SKU serverless jobs.

Consulte os preços dos serviços gerenciados do Databricks. Veja Rastrear otimização preditiva com tabelas de sistema.

Pré-requisitos

Os seguintes requisitos devem ser cumpridos para utilizar a otimização preditiva:

  • O seu espaço de trabalho Azure Databricks deve estar no plano Premium numa região suportada.
  • É obrigatório usar SQL warehouses ou Databricks Runtime 12.2 LTS ou superiores.
  • Somente tabelas gerenciadas do Unity Catalog são suportadas.

Habilite a otimização preditiva

Você pode habilitar a otimização preditiva para uma conta, um catálogo ou um esquema. Todas as tabelas gerenciadas pelo Unity Catalog herdam o valor da conta por padrão. Pode substituir a predefinição da conta ao nível do catálogo ou do esquema.

Deve ter os seguintes privilégios para ativar ou desativar a otimização preditiva:

Objeto do Unity Catalog Privilégio
Conta Administrador de Conta
Catálogo Proprietário do catálogo
Esquema Proprietário do esquema

Ativar ou desativar a otimização preditiva para a sua conta

Um administrador de conta pode ativar a otimização preditiva para todas as metastores de uma conta. Catálogos e esquemas herdam esta definição por defeito, mas pode substituí-la em qualquer nível.

  1. Vai à consola de contas.
  2. Navegue até Configurações e, em seguida , Ativação de recursos.
  3. Selecione a opção que quer (por exemplo, Ativado) ao lado de Otimização Preditiva.

Nota

  • Metastores em regiões que não suportam otimização preditiva não estão habilitados.
  • A desativação da otimização preditiva no nível da conta não a desativa para catálogos ou esquemas que a habilitaram 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 ativados para um catálogo, os esquemas desse catálogo herdam a definição, e as tabelas dentro de um esquema ativado também a herdam. Pode ativar ou desativar explicitamente a otimização preditiva para um catálogo ou esquema para sobrepor este comportamento.

Nota

Você pode desabilitar a otimização preditiva no nível do catálogo ou do esquema antes de ativá-la no nível da conta. Se a otimização preditiva for posteriormente ativada ao nível da conta, permanece bloqueada para tabelas nesses objetos.

Use a seguinte sintaxe para ativar, desativar ou redefinir a otimização preditiva para herdar do objeto pai:

ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;

Verificar se a otimização preditiva está ativada

O Predictive Optimization campo é uma propriedade do Unity Catalog que mostra se a otimização preditiva está ativada. Se a definição for herdada de um objeto pai, o valor do campo indica isso.

Use a seguinte sintaxe para verificar o estado:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Acompanhe a otimização preditiva com tabelas de sistema

O Databricks fornece a tabela system.storage.predictive_optimization_operations_history do sistema para observabilidade em operações de otimização preditiva, custos e impacto. Consulte Referência da Tabela do Sistema de Otimização Preditiva.

Se a tabela do sistema assinalar as operações como falhadas com FAILED: PRIVATE_LINK_SETUP_ERROR, a ligação privada serverless pode não estar corretamente configurada. Consulte Configurar conectividade privada para recursos do Azure.

Limitações

A otimização preditiva não funciona nos seguintes tipos de tabelas:

  • Tabelas carregadas num espaço de trabalho como destinatários do Delta Sharing
  • Tabelas externas