Perfil de consulta

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

  • O senhor 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.

  • O senhor pode identificar rapidamente a parte mais lenta da execução de uma consulta e avaliar os impactos das modificações na consulta.

  • O senhor pode descobrir e corrigir erros comuns em instruções SQL, como junções explosivas ou varreduras de tabelas completas.

Importante

O tempo registrado no histórico de consultas para uma consulta SQL é apenas o tempo que o site SQL warehouse gasta na execução da consulta. Ele não registra nenhuma sobrecarga adicional associada à preparação para executar a consulta, como fila interna, ou tempo adicional relacionado ao processo de upload e download de dados.

Requisitos

Para view um perfil de consulta, o senhor deve ser o proprietário da consulta ou deve ter a CAN MANAGE permissão no SQL warehouse que executou a consulta.

Exibir um perfil de consulta

Depois de executar uma consulta no editor SQL ou em um Notebook, o senhor 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 site Notebook

O senhor também pode acessar view o perfil de consulta do histórico de consultas da seguinte forma:

  1. Ver histórico de consultas.

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

    Resumo simples da execução da consulta view
  3. Clique em See query profile (Ver perfil de consulta).

    Observação

    Se o perfil da consulta não estiver disponível for exibido, não há perfil disponível para essa consulta. Um perfil de consulta não está disponível para consultas que são executadas a partir do cache de consultas. Para contornar o cache de consulta, faça uma alteração trivial na consulta, como alterar ou remover o LIMIT.

  4. Para view o perfil da consulta no gráfico view (o default), clique em Graph view. Para view o perfil de consulta como uma árvore, clique em Tree view.

    • O Graph view é otimizado para visualizar como os dados fluem de um nó para outro.

    • A árvore view é otimizada para encontrar rapidamente problemas com o desempenho da consulta, como identificar o operador de execução mais longa.

  5. Na view em gráfico ou view árvore, você pode clicar em uma das tab na parte inicio da página para view detalhes sobre cada tarefa da query .

    • 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.

    • Memória de pico: O pico de memória que cada tarefa da consulta consumiu.

    Observação

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

  6. No gráfico view, se uma tarefa tiver subtarefas, clique em um nó para mostrar seus detalhes. Na árvore view, o senhor pode clicar em > para expandi-la.

  7. São mostradas as operações de cada tarefa. Em default, a tarefa e as métricas de algumas operações ficam ocultas. É improvável que essas operações sejam a causa dos gargalos de desempenho. Para ver informações de todas as operações e métricas adicionais, clique em Reticências verticais na parte superior da página e, em seguida, clique em Enable verbose mode (Ativar modo detalhado). As operações mais comuns são:

    • Varredura: Os dados foram lidos de uma fonte de dados e gerados como linhas.

    • join: As linhas de várias relações foram combinadas (intercaladas) em um único conjunto de linhas.

    • União: As linhas de várias relações que usam o mesmo esquema foram concatenadas em um único conjunto de linhas.

    • Embaralhar: Os dados foram redistribuídos ou reparticionados. As operações de embaralhamento são caras em relação ao recurso porque movem os dados entre os executores nos clusters.

    • Hash / Classificação: As linhas foram agrupadas por um key e avaliadas usando uma função agregada, como SUM, COUNT ou MAX em cada grupo.

    • Filtro: A entrada é filtrada de acordo com um critério, por exemplo, por uma cláusula WHERE, e um subconjunto de linhas é retornado.

    • Troca (reutilizada): Um Shuffle ou Broadcast Exchange é usado para redistribuir os dados entre os nós dos clusters com base no particionamento desejado.

    • Limite de coleta: o número de linhas retornadas foi truncado pelo uso de uma instrução LIMIT.

    • Faça o pedido e o projeto: As N primeiras linhas do resultado da consulta foram retornadas.

  8. Para view o perfil query na Spark UI, clique em Reticências verticais na parte inicio da página e clique em Abrir na Spark UI.

  9. Para fechar o perfil query importado, clique em X na parte inicio da página.

Para obter mais detalhes sobre as informações disponíveis no perfil de consulta, consulte view details about the query profile.

Exibir detalhes sobre o perfil de consulta

O perfil query lista as tarefas de nível superior da queryna ordem inversa, com a última tarefa listada primeiro. À esquerda, três colunas mostram a sequência de tarefas, o nome das operações e um gráfico das métricas selecionadas para aquela tarefa. Siga estas passos para se familiarizar com as diferentes partes do perfil query .

  1. Clique em Time (Tempo ) para ver a duração de cada subtarefa.

  2. Clique em Rows (Linhas ) para ver o número e o tamanho das linhas retornadas pela consulta.

  3. Clique em Memory (Memória ) para ver a memória consumida por cada tarefa de consulta. Se a tarefa tiver subtarefas, o senhor pode clicar em > para ver detalhes sobre cada subtarefa.

  4. À direita, clique em Overview (Visão geral ) para ver a instrução SQL da consulta, o status, os horários de início e término, a duração, o usuário que executou a consulta e o depósito onde a consulta foi executada.

  5. Clique em uma tarefa para acessar view detalhes sobre ela, 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 site SQL warehouse para acessar as propriedades do depósito.

  8. Para view o perfil query na Spark UI, clique em Reticências verticais na parte inicio da página e clique em Abrir na Spark UI.

  9. Para fechar o perfil query , clique em X na parte inicio da página.

Compartilhar um perfil de consulta

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

  1. Ver histórico de consultas.

  2. Clique no nome da consulta.

  3. Para compartilhar a consulta, o senhor tem duas opções:

    • Se o outro usuário tiver a permissão CAN MANAGE na consulta, o senhor poderá compartilhar com ele o URL do perfil da consulta. Clique em Compartilhar. O URL é copiado para sua área de transferência.

    • Caso contrário, se o outro usuário não tiver a permissão CAN MANAGE ou não for membro do workspace, o senhor poderá fazer o download do perfil de consulta como um objeto JSON. downloads. O arquivo JSON é baixado em seu sistema local.

Importar um perfil de consulta

Para importar o JSON de um perfil de consulta:

  1. Ver histórico de consultas.

  2. Clique no menu kebab Reticências verticais no canto superior direito e selecione Import query profile (JSON).

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

    Quando o senhor importa um perfil de consulta, ele é carregado dinamicamente na sessão do navegador e não persiste no site workspace. O senhor precisa reimportá-lo sempre que quiser acessá-lo em view.

  4. Para fechar o perfil query importado, clique em X na parte inicio da página.

Próximos passos