Análise de desempenho de consultas

Importante

Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.

Esta página descreve os insights de desempenho que Azure Databricks retorna no histórico de consultas e como agir sobre eles.

Quando as consultas são executadas, Azure Databricks podem retornar insights que identificam oportunidades para melhorar o desempenho.

Encontre insights e recomendações para sua consulta

Os insights aparecem no histórico de consultas e no perfil de consulta. O painel de detalhes da consulta mostra um resumo dos insights, classificados por seu efeito estimado sobre a duração total da tarefa. A guia Insights de desempenho no perfil de consulta mostra todos os detalhes de cada insight.

Otimizar com o Genie Code

Quando uma consulta tiver insights acionáveis, selecione Otimizar para abrir o Genie Code. Para obter insights que exigem uma alteração de consulta, o Genie Code reescreve a consulta e apresenta as alterações para sua aprovação. Para insights que envolvem alterações de tabela ou computação, o Genie Code resume as ações recomendadas como texto em linguagem simples.

Para saber mais sobre como trabalhar com o Genie Code, consulte Genie Code.

Insights de otimização de consulta

COVERAGE_FILTER_KEYS_CLUSTERING

A tabela é agrupada por uma ou mais chaves que não são usadas em filtros durante a verificação da tabela.

Recomendação: Adicione filtros nas chaves de clustering para reduzir a leitura de bytes.

COVERAGE_FILTER_KEYS_PARTITIONING

A tabela é particionada por uma ou mais chaves que não são usadas em filtros durante a verificação da tabela.

Recomendação: Adicione filtros nas chaves de particionamento para reduzir a leitura de bytes.

COVERAGE_PHOTON

O Photon não pode acelerar essa operação, portanto, a consulta usa o mecanismo de runtime padrão.

Recomendação: Examine as limitações do Photon e ajuste a consulta para usar um caminho de execução com suporte.

EXPLODING_JOIN

A junção produz significativamente mais linhas do que lê.

Recomendação: Determine qual subconjunto de resultado você precisa e atualize a condição de junção ou reduza o número de linhas de entrada de ambas as relações.

FLOW_FULL_RECOMPUTE

O fluxo é executado como uma recompute completa.

Recomendação: Reescreva a consulta para suporte incremental para reduzir a leitura de bytes.

REDUNDANT_AGGREGATION

Uma operação de agregação não alterou o resultado da consulta.

Recomendação: Remova a agregação ou aplique restrições de chave primária e estrangeira.

SELECTIVE_JOIN

A junção produz significativamente menos linhas do que lê.

Recomendação: Determine qual subconjunto de resultado você precisa e adicione 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 a leitura de bytes.

Insights de layout de dados

AUTO_LIQUID_CLUSTERING

A tabela é otimizada manualmente e pode se beneficiar do clustering líquido automático.

Recommendations:

  • Converta a tabela de externa para gerenciada para melhor desempenho e manutenção automática.
  • Habilite a Otimização Preditiva na tabela para operações de manutenção automática.
  • Habilite o clustering automático na tabela para reduzir a leitura de bytes.

ESCRITA_CONCORRENTE

Gravações simultâneas na tabela causam conflitos que são resolvidos ou falham automaticamente.

Recomendação: Examine o histórico delta para identificar gravações simultâneas e ajustar o agendamento para evitar conflitos.

COVERAGE_STATS_DELTA

As estatísticas de Delta data skipping estão ausentes ou incompletas para os filtros de arquivos da varredura de tabela, portanto, a consulta usa a filtragem no arquivo.

O status das estatísticas para cada filtro pode ser um dos seguintes:

  • Cheio: As estatísticas estão disponíveis para todos os filtros.
  • Parcial: As estatísticas estão disponíveis para um subconjunto de filtros.
  • Indisponível: As estatísticas não estão disponíveis para nenhum filtro.
  • Utilizadas: As estatísticas não podem ser usadas porque o filtro converte o tipo de dados.

Recomendação:coletar estatísticas delta para reduzir a leitura de bytes.

COVERAGE_STATS_OPTIMIZER

As estatísticas do otimizador baseado em custo estão ausentes ou incompletas, portanto, o plano de consulta usa heurística padrão.

Recomendação:coletar estatísticas para habilitar o otimizador a produzir um plano melhor.

DESVIO_DE_DADOS

Os dados são distribuídos de forma desigual entre os recursos de computação.

Recomendação: Examine a distribuição de dados e, em seguida, use o sal de chaves ou a pré-agregação para equilibrar a carga de trabalho.

Insights de computação e recursos

DATA_SPILL

Dados derramados no disco durante a execução da consulta porque os dados não se encaixavam na memória.

Recomendação: Aumente o tamanho do armazém para adicionar memória. Reduza o número de linhas, colunas ou o tamanho de colunas grandes (cadeias de caracteres, matrizes, mapas, structs) para reduzir o uso de memória.

EXCESSIVE_QUEUE_TIME

A consulta esperou na fila do armazém .

Recomendação: Aumente o número máximo de clusters no warehouse para reduzir o tempo da fila.

IO_THROTTLING

Uma solicitação de armazenamento em nuvem foi limitada pelo provedor de nuvem.

Recomendação: Entre em contato com o administrador para solicitar maiores limites de solicitação de armazenamento do seu provedor de nuvem.

Recursos adicionais

Para obter uma visão geral mais ampla das práticas recomendadas de desempenho, consulte o Guia Abrangente para Otimizar Cargas de Trabalho do Databricks, Spark e Delta Lake.