Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esta página descreve a otimização preditiva, que executa automaticamente operações de manutenção para tabelas gerenciadas do Catálogo do Unity no Azure Databricks.
Observação
A otimização preditiva é habilitada por padrão para contas criadas em ou após 11 de novembro de 2024. O Databricks começou a habilitar contas existentes em 7 de maio de 2025. Essa distribuição é gradual e deve ser concluída até abril de 2026. Para verificar se sua conta já está habilitada, consulte Verificar se a otimização preditiva está habilitada.
Com a otimização preditiva habilitada, o Databricks faz o seguinte automaticamente:
- Identifica tabelas que se beneficiariam de operações de manutenção e enfileira essas operações a serem executadas.
- Coleta estatísticas quando os dados são gravados em uma tabela gerenciada.
Isso elimina as execuções de manutenção desnecessárias e a carga de acompanhar e solucionar problemas de desempenho manualmente.
O Databricks recomenda a otimização preditiva para todas as tabelas gerenciadas do Catálogo do Unity. Por exemplo, o agrupamento líquido automático utiliza otimização inteligente do layout de dados com base nos padrões de uso dos seus dados. Consulte Usar clustering líquido para tabelas.
Quais operações a otimização preditiva executa?
A otimização preditiva executa as seguintes operações em tabelas gerenciadas do Catálogo do Unity:
| Operação | Descrição |
|---|---|
OPTIMIZE |
Dispara o clustering incremental nas tabelas habilitadas. Consulte Usar clustering líquido para tabelas. Melhora o desempenho da consulta ao otimizar os tamanhos dos arquivos. Confira Otimizar o layout do arquivo de dados. |
VACUUM |
Reduz os custos de armazenamento ao excluir arquivos de dados que não são mais referenciados pela tabela. Confira Remover arquivos de dados não utilizados com o vacuum. |
ANALYZE |
Dispara a atualização incremental de estatísticas para melhorar o desempenho da consulta. Veja ANALYZE TABLE ... ESTATÍSTICAS DE COMPUTAÇÃO. |
Observação
OPTIMIZE não roda ZORDER quando executado por otimização preditiva. Em tabelas que usam ordem Z, a otimização preditiva ignora arquivos ordenados por Z.
Se o clustering automático de líquido estiver habilitado, a otimização preditiva poderá selecionar novas chaves de clustering antes de agrupar os dados. Consulte Clustering líquido automático.
Aviso
A janela de retenção para VACUUM é determinada pela propriedade da delta.deletedFileRetentionDuration tabela, que usa como padrão 7 dias.
VACUUM remove arquivos de dados que não são mais referenciados por uma versão da tabela Delta dentro dessa janela. Para reter dados por durações mais longas (por exemplo, para dar suporte a viagens de tempo estendidas), defina essa propriedade antes de habilitar a otimização preditiva:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Computação e cobrança
A otimização preditiva executa as operações ANALYZE, OPTIMIZE e VACUUM usando computação sem servidor para tarefas. Sua conta é cobrada por esses recursos de computação usando um SKU de tarefas sem servidor.
Consulte os preços dos serviços gerenciados do Databricks. Consulte Rastrear a otimização preditiva com tabelas do sistema.
Pré-requisitos
Os seguintes requisitos devem ser atendidos para usar a otimização preditiva:
- Seu workspace do Azure Databricks deve estar no plano Premium em uma região com suporte.
- Você deve usar SQL Warehouses ou Databricks Runtime versão 12.2 LTS ou mais recente.
- Há suporte apenas para as tabelas gerenciadas pelo Catálogo do Unity.
- Se você precisar de conectividade privada para suas contas de armazenamento, configure a conectividade privada sem servidor. Consulte Configurar a conectividade privada com os recursos do Azure.
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 do Unity Catalog herdam por padrão o valor da conta. Você pode substituir o padrão da conta no nível de catálogo ou esquema.
Você deve ter os seguintes privilégios para habilitar ou desabilitar a otimização preditiva:
| Objeto do Catálogo do Unity | Privilégio |
|---|---|
| Conta | Administrador de contas |
| Catálogo | Proprietário do catálogo |
| Esquema | Proprietário do esquema |
Habilitar ou desabilitar a otimização preditiva para sua conta
Um administrador de conta pode habilitar a otimização preditiva para todos os metastores em uma conta. Catálogos e esquemas herdam essa configuração por padrão, mas você pode substituí-la em qualquer nível.
- Vá para o console de contas.
- Navegue até Configurações e, em seguida, Habilitação de Recursos.
- Selecione a opção desejada (por exemplo, Habilitada) ao lado da otimização preditiva.
Observação
- Metastores em regiões que não dão suporte à otimização preditiva não estão habilitados.
- Desabilitar a otimização preditiva no nível da conta não a desabilita para catálogos ou esquemas que a habilitaram especificamente.
Desabilitar ou habilitar a otimização preditiva para um catálogo ou esquema
A otimização preditiva utiliza um modelo de herança. Quando habilitados para um catálogo, os esquemas nesse catálogo herdam a configuração e as tabelas dentro de um esquema habilitado também o herdam. Você pode habilitar ou desabilitar explicitamente a otimização preditiva para um catálogo ou esquema para substituir esse comportamento.
Observação
Você pode desabilitar a otimização preditiva no nível do catálogo ou do esquema antes de habilitá-la no nível da conta. Se a otimização preditiva for habilitada posteriormente no nível da conta, ela permanecerá bloqueada para tabelas nesses objetos.
Use a sintaxe a seguir para habilitar, desabilitar 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á habilitada
O Predictive Optimization campo é uma propriedade do Catálogo do Unity que mostra se a otimização preditiva está habilitada. Se a configuração for herdada de um objeto pai, o valor do campo indicará isso.
Use a seguinte sintaxe para verificar o status:
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
Acompanhar a otimização preditiva com tabelas do 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. Confira Tabelas do sistema de referência de otimização preditiva.
Mensagem de erro de link privado
Se a tabela do sistema marcar as operações com falha, FAILED: PRIVATE_LINK_SETUP_ERRORo link privado sem servidor poderá não estar configurado corretamente. Consulte Configurar a conectividade privada com os recursos do Azure.
Limitações
A otimização preditiva não é executada nos seguintes tipos de tabela:
- Tabelas carregadas em um workspace como destinatários de compartilhamento Delta
- Tabelas externas