Informações de desempenho de consultas

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.

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.

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

AUTO_LIQUID_CLUSTERING

A tabela é otimizada manualmente e pode beneficiar de 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.

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.

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.

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.