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.
A otimização preditiva executa automaticamente OPTIMIZE, VACUUM e ANALYZE nas tabelas gerenciadas do Unity Catalog (Delta Lake e Iceberg) no Azure Databricks, eliminando a manutenção manual e o tempo gasto monitorando problemas de desempenho.
Observação
A otimização preditiva é habilitada por padrão para contas criadas em ou após 11 de novembro de 2024. O Databricks está habilitando gradualmente as contas existentes. Essa distribuição está prevista para ser concluída até agosto 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 coloca essas operações em fila para 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 |
Examina a tabela e coleta estatísticas para melhorar o desempenho da consulta. Veja ANALYZE TABLE ... ESTATÍSTICAS DE COMPUTAÇÃO. Para remover estatísticas coletadas pela otimização preditiva, consulte ANALYZE TABLE ... DROP STATISTICS. |
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 essa computação usando uma SKU de trabalhos 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, um esquema ou uma tabela. 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 do catálogo, do esquema ou da tabela.
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 ou um usuário com MANAGE privilégio no catálogo |
| Esquema | Proprietário do esquema ou um usuário com MANAGE privilégio no esquema |
| Table | Proprietário da tabela ou um usuário com MANAGE privilégio na tabela |
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.
Habilitar ou desabilitar a otimização preditiva para um catálogo, esquema ou tabela
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, esquema ou tabela para substituir esse comportamento.
Observação
Você pode desabilitar a otimização preditiva no nível de catálogo, esquema ou tabela 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 objetos que a desabilitaram especificamente.
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;
ALTER TABLE table_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
Consulte ALTER TABLE.
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
Verifique por que a otimização preditiva ignorou uma tabela
No Databricks Runtime 18 e versões posteriores, após a otimização preditiva avaliar uma tabela gerenciada, use a guia Histórico no Catalog Explorer para ver por que uma operação foi ignorada. Os resultados podem levar até 24 horas para serem exibidos.
Use a aba Histórico no Explorador de Catálogos
Você pode exibir os motivos de ignorar na guia Histórico de uma tabela no Gerenciador de Catálogos. Na coluna Operação , o rótulo automático indica que a operação foi executada e o rótulo não aplicado indica que a operação foi ignorada. O rótulo Auto inclui otimização preditiva e outras operações automáticas, como autocompactação de streaming.
Para exibir o motivo de ignorar, clique em uma linha com o rótulo Não aplicado na coluna Operação .
A tabela a seguir descreve os tipos de operação automática mostrados no Gerenciador de Catálogos:
| Operação do Gerenciador de Catálogos | Descrição |
|---|---|
OPTIMIZE |
Compactação de arquivos para melhorar o desempenho da consulta ou clustering líquido incremental |
AUTO LIQUID |
Avaliação ou evolução de chaves de clustering líquidas |
VACUUM |
A remoção de arquivos de dados não é mais referenciada pela tabela |
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 como 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 espaço de trabalho como destinatárias de OpenSharing
- Tabelas externas