Perfil de consulta

Você pode usar um perfil de consulta para visualizar os detalhes de uma execução de consulta. O perfil de consulta ajuda a solucionar gargalos de desempenho durante a execução da consulta. Por exemplo:

  • Você pode visualizar cada tarefa de consulta e suas métricas relacionadas, como o tempo gasto, o número de linhas processadas, as linhas processadas e o consumo de memória.
  • Você pode identificar a parte mais lenta de uma execução de consulta rapidamente e avaliar os impactos das modificações na consulta.
  • Você pode descobrir e corrigir erros comuns em instruções SQL, como junções de reações ou verificações completas de tabela.

Importante

O tempo registrado no histórico de consultas para uma consulta SQL é apenas o tempo gasto pelo SQL warehouse que está executando a consulta. Ele não registra nenhuma sobrecarga adicional associada à preparação para executar a consulta, como enfileiramento interno ou tempo adicional relacionado ao processo de upload e download de dados.

Requisitos

Para exibir um perfil de consulta, você deve ser o proprietário da consulta ou ter a permissão PODE GERENCIAR no SQL Warehouse que executou a consulta.

Exibir um perfil de consulta

Após a execução de uma consulta no editor SQL ou em um notebook, você pode abrir o perfil da consulta clicando no tempo decorrido na parte inferior da saída.

Abrir o histórico de consultas a partir do editor ou da saída do notebook

Também é possível exibir o perfil de consulta a partir do histórico de consultas da seguinte maneira:

  1. Exiba o histórico de consulta.

  2. Clique no nome de uma consulta. É exibida uma visão geral das métricas de consulta.

    Exibição simples do resumo de execução da consulta

  3. Clique em Exibir perfil de consulta.

    Observação

    Se O perfil de consulta não está disponível for exibido, não haverá perfis disponíveis para essa consulta. Um perfil de consulta não está disponível para consultas que são executados no cache de consulta. Para contornar o cache de consulta, faça uma alteração trivial na consulta, como alterar ou remover o LIMIT.

  4. Para exibir o perfil de consulta no modo de exibição de grafo (o padrão), clique no modo de Exibição de Graph. Para exibir o perfil de consulta no modo de árvore, clique em modo de Exibição de árvore.

    • O modo de exibição de gráfico é otimizado para visualizar como os dados fluem de um nó para outro.
    • O modo de exibição de árvore é otimizado para encontrar rapidamente problemas com o desempenho da consulta, como identificar o operador de execução mais longa.
  5. Nos modos de exibição de árvore ou de grafo, é possível clicar em uma das guias na parte superior da página para exibir detalhes sobre cada uma das tarefas da consulta.

    • Tempo gasto: a soma do tempo de execução gasto por todas as tarefas para cada operação.
    • Linhas: o número e o tamanho das linhas afetadas por cada uma das tarefas da consulta.
    • Pico de memória: o pico de memória consumida por cada uma das tarefas da consulta.

    Observação

    Algumas operações não Photon são executadas como um grupo e compartilham métricas comuns. Nesse caso, todas as subtarefas têm o mesmo valor do que a tarefa pai para uma determinada métrica.

  6. No modo de exibição de grafo, se uma tarefa tiver subtarefas, clique em um nó para mostrar seus detalhes. No modo de exibição de árvore, é possível clicar em > para expandi-lo.

  7. A operação de cada tarefa é mostrada. Por padrão, as tarefas e as métricas de algumas operações ficam ocultas. É improvável que essas operações sejam a causa de gargalos de desempenho. Para ver informações de todas as operações e métricas adicionais, clique em Menu kebab na parte superior da página e em Habilitar o modo de exibição detalhada. As operações mais comuns são:

    • Verificação: os dados foram lidos de uma fonte de dados e saída como linhas.
    • Junção: linhas de várias relações foram combinadas (intercaladas) em um único conjunto de linhas.
    • União: as linhas de vários relacionamentos que usam o mesmo esquema foram concatenadas em um único conjunto de linhas.
    • Embaralhamento: os dados foram redistribuídos ou reparticionados. As operações de embaralhamento são caras em relação aos recursos porque movem dados entre executores no cluster.
    • Hash/Classificação: as linhas foram agrupadas por uma chave e avaliadas usando uma função de agregação como SUM, COUNT ou MAX dentro de cada grupo.
    • Filtro: a entrada é filtrada de acordo com um critério, como por uma WHEREcláusula, e um subconjunto de linhas é retornado.
    • (Reutilizado) Troca: uma Ordem Aleatória ou Troca de Transmissão é usada para redistribuir os dados entre os nós de cluster com base no particionamento desejado.
    • Limite de Coleta: o número de linhas retornadas foi truncado usando uma instrução LIMIT.
    • Receber Ordenado e Projetar: as N primeiras linhas do resultado da consulta foram retornadas.
  8. Para exibir o perfil de consulta na IU do Apache Spark, clique em Menu kebab na parte superior da página e em Abrir na IU do Spark.

  9. Para fechar o perfil de consulta importado, clique em X na parte superior da página.

Para obter mais detalhes sobre as informações disponíveis no perfil da consulta, confira Exibir detalhes sobre o perfil da consulta.

Exibir detalhes sobre o perfil de consulta

O perfil de consulta lista as tarefas de nível superior da consulta em ordem inversa, com a última tarefa listada primeiro. À esquerda, três colunas mostram a sequência de tarefas, o nome da operação e um grafo da métrica selecionada para essa tarefa. Siga estas etapas para se familiarizar com as diferentes partes do perfil de consulta.

  1. Clique em Tempo para ver a duração de cada subtarefa.
  2. Clique em Linhas para ver o número e o tamanho das linhas retornadas pela consulta.
  3. Clique em Memória para ver a memória consumida por cada tarefa de consulta. Se a tarefa tiver subtarefas, você poderá clicar em > para ver detalhes sobre cada subtarefa.
  4. À direita, clique em Visão geral para ver a instrução SQL da consulta, o status, as horas de início e término, a duração, o usuário que executou a consulta e o warehouse em que a consulta foi executada.
  5. Clique em uma tarefa para exibir detalhes sobre a tarefa, como a descrição da tarefa e as métricas sobre a duração da tarefa, a memória consumida, o número e o tamanho das linhas retornadas e a linhagem.
  6. Para fechar os detalhes da subtarefa, clique em X.
  7. Clique no nome do SQL warehouse para acessar as propriedades desse warehouse.
  8. Para exibir o perfil de consulta na IU do Apache Spark, clique em Menu kebab na parte superior da página e em Abrir na IU do Spark.
  9. Para fechar o perfil de consulta, clique em X na parte superior da página.

Compartilhar um perfil de consulta

Para compartilhar um perfil de consulta com outro usuário:

  1. Exiba o histórico de consulta.
  2. Clique no nome da consulta.
  3. Para compartilhar a consulta, você tem duas opções:
    • Se o outro usuário tiver a permissão PODE GERENCIAR na consulta, você poderá compartilhar com ele a URL do perfil da consulta. Clique em Compartilhar. A URL é copiada para a área de transferência.
    • Caso contrário, se o outro usuário não tiver a permissão PODE GERENCIAR ou não for membro do espaço de trabalho, você poderá fazer o download do perfil da consulta como um objeto JSON. Download. O arquivo JSON é baixado para o sistema local.

Importar um perfil de consulta

Para importar o JSON para um perfil de consulta:

  1. Exiba o histórico de consulta.

  2. Clique no menu do kebabMenu kebab no canto superior direito e selecione Importar perfil de consulta (JSON).

  3. No navegador de arquivos, selecione o arquivo JSON que foi compartilhado com você e clique em Abrir. O arquivo JSON é carregado e o perfil de consulta é exibido.

    Quando você importa um perfil de consulta, ele é carregado dinamicamente na sessão do navegador e não persiste em seu espaço de trabalho. Você precisa re importá-lo sempre que quiser exibi-lo.

  4. Para fechar o perfil de consulta importado, clique em X na parte superior da página.

Próximas etapas