Otimização preditiva para Delta Lake
Importante
Esta funcionalidade está em Pré-visualização Pública.
A otimização preditiva elimina a necessidade de gerenciar manualmente as operações de manutenção de tabelas Delta no Azure Databricks.
Com a otimização preditiva habilitada, o Azure Databricks identifica automaticamente as tabelas que se beneficiariam das operações de manutenção e as executa para o usuário. As operações de manutenção são executadas apenas conforme necessário, eliminando execuções desnecessárias para operações de manutenção e a carga associada ao rastreamento e ao desempenho de solução de problemas.
Quais operações a otimização preditiva executa?
A otimização preditiva executa as seguintes operações automaticamente para tabelas Delta habilitadas:
Operation | Description |
---|---|
OPTIMIZE |
Melhora o desempenho da consulta otimizando o tamanho dos arquivos. Veja Compactar ficheiros de dados com otimização no Delta Lake. |
VACUUM |
Reduz os custos de armazenamento excluindo arquivos de dados que não são mais referenciados pela tabela. Consulte Remover ficheiros de dados não utilizados com vácuo. |
Nota
OPTIMIZE
não é executado ZORDER
quando executado com otimização preditiva.
Aviso
A janela de retenção para o VACUUM
comando é determinada pela delta.deletedFileRetentionDuration
propriedade table, cujo padrão é de 7 dias. Isso significa VACUUM
que remove arquivos de dados que não são mais referenciados por uma versão de tabela Delta nos últimos 7 dias. Se você quiser reter dados por mais tempo (como para dar suporte a viagens no tempo por durações maiores), defina essa propriedade de tabela adequadamente antes de habilitar a otimização preditiva, como no exemplo a seguir:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Onde funciona a otimização preditiva?
A otimização preditiva identifica tabelas que se beneficiariam de operações e VACUUM
as enfileira para serem executadas usando a computação de OPTIMIZE
trabalhos. Sua conta é cobrada pela computação associada a essas cargas de trabalho usando uma SKU específica para o Databricks Managed Services. Consulte os preços dos serviços gerenciados do Databricks. O Azure Databricks fornece tabelas do sistema para observabilidade em operações, custos e impacto de otimização preditiva. Consulte Usar tabelas do sistema para acompanhar a otimização preditiva.
Nota
A otimização preditiva não executa OPTIMIZE
comandos em tabelas que usam clustering líquido.
Pré-requisitos para otimização preditiva
Você deve cumprir os seguintes requisitos para habilitar a otimização preditiva:
Seu espaço de trabalho do Azure Databricks deve estar no plano Premium em uma região que ofereça suporte à otimização preditiva. Consulte Regiões do Azure Databricks.
Você deve usar armazéns SQL ou Databricks Runtime 12.2 LTS ou superior ao habilitar a otimização preditiva.
Somente tabelas gerenciadas do Unity Catalog são suportadas.
Se você precisar de conectividade privada para suas contas de armazenamento, deverá configurar a conectividade privada sem servidor. Consulte Configurar conectividade privada a partir de computação sem servidor.
Habilite a otimização preditiva
Você deve habilitar a otimização preditiva no nível da conta.
Você deve ter os seguintes privilégios para habilitar ou desabilitar a otimização preditiva no nível especificado:
Objeto Unity Catalog | Privilege |
---|---|
Account | Administrador de Conta |
Catálogo | Proprietário do catálogo |
Esquema | Proprietário do esquema |
Nota
Quando você habilita a otimização preditiva pela primeira vez, o Azure Databricks cria automaticamente uma entidade de serviço em sua conta do Azure Databricks. O Azure Databricks usa essa entidade de serviço para executar as operações de manutenção solicitadas. Veja Gerir principais de serviço.
Habilite a otimização preditiva para sua conta
Um administrador de conta deve concluir as seguintes etapas para habilitar a otimização preditiva para todos os metastores de uma conta:
- Aceda à consola de contas.
- Navegue até Configurações e, em seguida , Ativação de recursos.
- Selecione Ativado ao lado de Otimização preditiva.
Nota
Metastores em regiões que não suportam otimização preditiva não estão habilitados.
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 habilitado herdam a otimização preditiva. Para substituir esse comportamento de herança, você pode desabilitar explicitamente a otimização preditiva para um catálogo ou esquema.
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 habilitada posteriormente na conta, ela será bloqueada para tabelas nesses objetos.
Use a sintaxe a seguir para habilitar ou desabilitar a otimização preditiva:
ALTER CATALOG [catalog_name] {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;
ALTER {SCHEMA | DATABASE} schema_name {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;
Verificar se a otimização preditiva está ativada
O Predictive Optimization
campo é uma propriedade do Catálogo 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 sintaxe a seguir para ver se a otimização preditiva está habilitada:
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
Use tabelas do sistema para acompanhar a otimização preditiva
O Azure Databricks fornece uma tabela do sistema para controlar o histórico de operações de otimização preditiva. Consulte Referência da tabela do sistema de otimização preditiva.
Limitações
A otimização preditiva não está disponível em todas as regiões. Consulte Regiões do Azure Databricks.
A otimização preditiva não executa OPTIMIZE
comandos em tabelas que usam clustering líquido ou ordem Z.
A otimização preditiva não executa operações de manutenção nas tabelas a seguir:
- Tabelas carregadas em um espaço de trabalho como destinatários do Compartilhamento Delta.
- Visões materializadas. Consulte Usar exibições materializadas no Databricks SQL.
- Tabelas de streaming. Consulte Carregar dados usando tabelas de streaming no Databricks SQL.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários