Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Ver Gerir as pré-visualizações de Azure Databricks.
Esta página descreve os insights de desempenho que o Azure Databricks devolve no histórico de consultas e como agir sobre eles.
Quando as consultas são executadas, o Azure Databricks pode devolver insights que identificam oportunidades para melhorar o desempenho, ou que reportam otimizações já aplicadas.
Encontre opiniões e recomendações para a sua consulta
Os insights aparecem no seu histórico de consultas e no perfil de consultas. O painel de detalhes da consulta mostra um resumo dos insights, classificados pelo seu efeito estimado na duração total da tarefa. O separador de insights de desempenho no perfil da consulta mostra todos os detalhes de cada insight.
Otimizar com Código Genie
Quando uma consulta tem insights acionáveis, selecione Otimizar para abrir o Código Genie. Para insights que exigem uma alteração da consulta, o Genie Code reescreve a query e apresenta as alterações para aprovação. Para insights que envolvem alterações de tabela ou computação, o Código Genie resume as ações recomendadas em texto simples.
Para saber mais sobre como trabalhar com o Código Genie, consulte Código Genio.
Insights de otimização de consultas
COVERAGE_FILTER_KEYS_CLUSTERING
A tabela é agrupada por uma ou mais chaves que não são usadas nos filtros durante a varredura da tabela.
Recomendação: Adicione filtros nas chaves de clustering para reduzir bytes de leitura.
COVERAGE_FILTER_KEYS_PARTITIONING
A tabela é particionada por uma ou mais chaves que não são usadas nos filtros durante a varredura da tabela.
Recomendação: Adicione filtros nas chaves de partição para reduzir bytes de leitura.
COVERAGE_PHOTON
O Photon não consegue acelerar esta operação, por isso a consulta utiliza o motor de execução padrão.
Recomendação: Revise as limitações do Photon e ajuste a consulta para usar um caminho de execução suportado.
EXPLODING_JOIN
A junção produz significativamente mais linhas do que as que lê.
Recomendação: Determina qual o subconjunto de resultados que precisas, depois atualiza a condição de junção ou reduz o número de linhas de entrada em ambas as relações.
FLOW_FULL_RECOMPUTE
O fluxo executa-se como um recálculo completo.
Recomendação: Reescreva a consulta para suporte incremental e reduza os bytes de leitura.
REDUNDANT_AGGREGATION
Uma operação agregada não alterava o resultado da consulta.
Recomendação: Remover o agregado ou aplicar restrições de chave primária e estrangeira.
REDUNDANT_JOIN
Uma junção exterior não alterou a contagem de linhas do lado exterior, e não são usadas colunas da tabela unida.
Recomendação: Remova a junção ou aplique restrições de chave primária ou únicas.
SELECTIVE_JOIN
A junção produz significativamente menos linhas do que as que lê.
Recomendação: Determina qual o subconjunto de resultados que precisas, depois adiciona filtros antes da junção para reduzir as linhas de entrada.
WIDE_PROJECTION
A consulta projeta todas as colunas da tabela.
Recomendação: Project apenas as colunas necessárias para reduzir os bytes lidos.
Insights sobre a disposição dos dados
ESCRITA_CONCORRENTE
Escritas simultâneas na tabela causam conflitos que são automaticamente resolvidos ou falham.
Recomendação: Revise o histórico Delta para identificar escritas concorrentes e ajuste o agendamento para evitar conflitos.
COVERAGE_STATS_DELTA
As estatísticas de salto de dados delta estão ausentes ou incompletas para os filtros de ficheiro de varredura da tabela, assim a consulta usa filtragem no ficheiro.
O estado das estatísticas de cada filtro pode ser um dos seguintes:
- Completo: As estatísticas estão disponíveis para todos os filtros.
- Parcial: As estatísticas estão disponíveis para um subconjunto de filtros.
- Não disponível: As estatísticas não estão disponíveis para nenhum filtro.
- Não utilizados: Estatísticas não podem ser usadas porque o filtro converte o tipo de dado.
Recomendação:Recolha estatísticas Delta para reduzir bytes lidos.
COVERAGE_STATS_OPTIMIZER
Estatísticas de otimizadores baseadas em custos estão em falta ou são incompletas, pelo que o plano de consulta utiliza heurísticas padrão.
Recomendação:Recolha estatísticas para permitir que o otimizador produza um plano melhor.
DISTORÇÃO_DE_DADOS
Os dados são distribuídos de forma desigual entre os recursos computacionais.
Recomendação: Revise a distribuição dos dados e depois use o salgo de chaves ou pré-agregação para equilibrar a carga de trabalho.
MANUAL_DATA_LAYOUT
A tabela é otimizada manualmente e pode beneficiar do Agrupamento Automático de Líquidos.
Recommendations:
- Converter a tabela de externa para gerida para melhor desempenho e manutenção automática.
- Ative a Otimização Preditiva na mesa para operações automáticas de manutenção.
- Ative a clusterização automática na tabela para reduzir bytes de leitura.
Conhecimentos de computação e recursos
DATA_SPILL
Os dados foram vazados para o disco durante a execução da consulta porque os dados não cabiam na memória.
Recomendação: Aumenta o tamanho do armazém para adicionar memória. Reduza o número de linhas, colunas ou o tamanho de colunas grandes (strings, arrays, maps, structs) para diminuir o uso de memória.
EXCESSIVE_QUEUE_TIME
A consulta ficou à espera na fila do armazém .
Recomendação: Aumentar o número máximo de clusters no armazém para reduzir o tempo de fila.
IO_THROTTLING
Um pedido de armazenamento na cloud foi limitado pelo fornecedor de cloud.
Recomendação: Contacte o seu administrador para solicitar aumento dos limites de pedidos de armazenamento ao seu fornecedor de cloud.
Acelerações aplicadas
Estes insights descrevem otimizações que o Azure Databricks já aplicou durante a execução da consulta. Aparecem no separador Performance Insights com um rótulo Acelerado e não requerem ação.
AUTO_LIQUID_CLUSTERING
Esta consulta apresenta menos dados porque as suas tabelas utilizam Agrupamento Automático de Líquidos. O Azure Databricks agrupa continuamente cada tabela pelas chaves que aprende com a tua carga de trabalho, por isso as varreduras saltam ficheiros que não conseguem corresponder aos teus filtros. Não é necessário ajuste nem partição manual.
HISTORY_BASED_JOIN_STRATEGY
O Azure Databricks otimizou a junção desta consulta usando medições de sequências anteriores de consultas semelhantes. Escolheu uma entrada por broadcast em vez de embaralhar dados pelo cluster, com base no histórico da tua carga de trabalho. Não é necessária qualquer alteração de consulta.
SHORT_QUERY_PRIORITIZATION
Apesar de o cluster estar com capacidade maximal, o Azure Databricks previu que esta consulta seria de curta duração e executou-a imediatamente por um caminho rápido em vez de a manter na fila atrás de consultas mais pesadas. Isto mantém as cargas de trabalho interativas responsivas sob carga.
Recursos adicionais
Para uma visão mais abrangente das melhores práticas de desempenho, consulte o Guia Abrangente para Otimizar Databricks, Spark e Cargas de Trabalho Delta Lake.