Otimização preditiva para tabelas gerenciadas do Catálogo do Unity
Artigo
Observação
Para todas as contas criadas após 11 de novembro de 2024, o Databricks habilita a otimização preditiva por padrão.
A otimização preditiva elimina a necessidade de gerenciar manualmente as operações de manutenção de tabelas gernciadas do Catálogo do Unity no Azure Databricks.
Com a otimização preditiva habilitada, o Azure Databricks faz o seguinte automaticamente:
Identifica tabelas que se beneficiariam de operações de manutenção e enfileira essas operações para serem executadas.
Coleta estatísticas quando os dados são gravados em uma tabela gerenciada.
As operações de manutenção são executadas conforme necessário, eliminando as execuções desnecessárias para operações de manutenção e a carga associada ao acompanhamento e à solução de problemas de desempenho.
Importante
A otimização preditiva só é executada em tabelas gerenciadas do Catálogo do Unity.
A otimização preditiva não é executada em tabelas de streaming ou exibições materializadas criadas no Databricks SQL ou usando pipelines do Delta Live Tables.
Quais operações a otimização preditiva executa?
A otimização preditiva executa as seguintes operações automaticamente para as tabelas habilitadas:
Dispara a atualização incremental de estatísticas para melhorar o desempenho da consulta. Confira ANALYZE TABLE.
(1)OPTIMIZE não é executado ZORDER quando executado com otimização preditiva.
Aviso
A janela de retenção do comando VACUUM é determinada pela propriedade da tabela delta.deletedFileRetentionDuration, cujo padrão é 7 dias. Isso significa que VACUUM remove os arquivos de dados que não são mais referenciados por uma versão da tabela Delta nos últimos 7 dias. Se quiser reter dados por mais tempo (por exemplo, para dar suporte a viagens no tempo por períodos mais longos), você deve definir essa propriedade da tabela adequadamente antes de habilitar a otimização preditiva, como no exemplo a seguir:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Em que local a otimização preditiva é executada?
A otimização preditiva identifica tabelas que se beneficiariam de ANALYZE, OPTIMIZE, e VACUUM operações e as enfileira para serem executadas usando computação sem servidor para trabalhos. Sua conta é cobrada pela computação associada a essas cargas de trabalho usando uma SKU específica dos Serviços Gerenciados do Databricks. Consulte os preços dos serviços gerenciados do Databricks. O Azure Databricks fornece tabelas de sistema para observabilidade em operações de otimização preditiva, custos e impacto. Confira Tabelas do sistema usadas para acompanhar a otimização preditiva.
Pré-requisitos da otimização preditiva
Você deve cumprir os seguintes requisitos para habilitar a otimização preditiva:
Seu Workspace do Azure Databricks deve estar no plano Premium em uma região que dê suporte à otimização preditiva. Confira Regiões do Azure Databricks.
Você deve usar SQL warehouses ou o Azure Databricks Runtime 12.2 LTS ou superior ao ativar a otimização preditiva.
Há suporte apenas para as tabelas gerenciadas pelo Catálogo do Unity.
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 alterar a configuração padrão da conta para um determinado catálogo ou esquema a fim de habilitar ou desabilitar a otimização preditiva nesse nível.
Observação
Se sua conta tiver sido criada após 11 de novembro de 2024, a otimização preditiva será habilitada para sua conta por padrão.
Você deve ter os seguintes privilégios para habilitar ou desabilitar a otimização preditiva no nível especificado:
Objeto do Catálogo do Unity
Privilege
Conta
Administrador de contas
Catálogo
Proprietário do catálogo
Esquema
Proprietário do esquema
Observação
Quando você habilita a otimização preditiva pela primeira vez, o Azure Databricks cria automaticamente uma entidade de serviço na sua conta do Azure Databricks. O Azure Databricks utiliza essa entidade de serviço para executar as operações de manutenção solicitadas. Confira Gerenciar entidades de serviço.
Habilitar ou desabilitar a otimização preditiva para sua conta
Um administrador de conta pode concluir as etapas a seguir para habilitar a otimização preditiva para todos os metastores em uma conta. Os objetos na conta herdarão essa configuração por padrão (mas a configuração pode ser substituída no nível de catálogo ou esquema):
Acesse o console de contas.
Navegue até Configurações e, em seguida, Habilitação de Recursos.
Selecione a opção a ser usada (por exemplo, Habilitado) ao lado de otimização preditiva.
Observação
Os repositórios 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 habilitado para um catálogo, os esquemas herdam a propriedade. As tabelas em um esquema habilitado herdam a otimização preditiva. Para substituir esse comportamento de herança, você pode habilitar ou desabilitar explicitamente a otimização preditiva para um catálogo ou esquema.
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 na conta, ela será bloqueada para tabelas nesses objetos.
Use a sintaxe a seguir para habilitar ou desabilitar a otimização preditiva ou retornar ao padrão de herdar do objeto pai:
Verifique se a otimização preditiva está habilitada
O campo Predictive Optimization é uma propriedade do Catálogo do Unity 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
Usar tabelas do sistema para acompanhar a otimização preditiva
Administrar uma infraestrutura de banco de dados do SQL Server para bancos de dados relacionais de nuvem, locais e híbridos usando as ofertas de banco de dados relacional do Microsoft PaaS.