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

OPTIMIZE (1)

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.

VACUUM

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.

ANALYZE

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):

  1. Acesse o console account .

  2. Navegue até Configurações e, em seguida, habilitação de recursos.

  3. 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: