Partilhar via


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 rapidamente a parte mais lenta da execução de uma consulta e avaliar os impactos das modificações na consulta.
  • Você pode descobrir e corrigir erros comuns em instruções SQL, como junções explosivas ou verificações de tabela completa.

Importante

O tempo registrado no histórico de consultas para uma consulta SQL é apenas o tempo que o SQL warehouse gasta realmente 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 deve ter a permissão CAN MANAGE no SQL warehouse que executou a consulta.

Visualizar um perfil de consulta

Depois de executar uma consulta no editor SQL ou em um bloco de anotações, você pode abrir o perfil de consulta clicando no tempo decorrido na parte inferior da saída.

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

Você também pode exibir o perfil de consulta do histórico de consultas da seguinte maneira:

  1. Ver histórico de consultas.

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

    Modo de exibição simples de resumo de execução de consulta

  3. Clique em Ver perfil de consulta.

    Nota

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

  4. Para exibir o perfil de consulta no modo de exibição de gráfico (o padrão), clique em Modo de exibição de gráfico. Para exibir o perfil de consulta como uma árvore, clique em Modo de exibição em árvore.

    • A visualização de gráfico é otimizada para visualizar como os dados fluem de um nó para outro.
    • O modo de exibição em árvore é otimizado para localizar rapidamente problemas com o desempenho da consulta, como identificar o operador de execução mais longa.
  5. Na vista de gráfico ou na vista de árvore, pode clicar num dos separadores na parte superior da página para ver 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.
    • Memória de pico: a memória de pico que cada uma das tarefas da consulta consumiu.

    Nota

    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 que a tarefa pai para uma determinada métrica.

  6. No modo de exibição de gráfico, se uma tarefa tiver subtarefas, clique em um nó para mostrar seus detalhes. Na visualização em árvore, você pode clicar > para expandi-la.

  7. A operação de cada tarefa é mostrada. Por padrão, as tarefas e 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 Elipse Vertical na parte superior da página e, em seguida, clique em Ativar modo detalhado. As operações mais comuns são:

    • Digitalização: os dados foram lidos de uma fonte de dados e enviados como linhas.
    • Associação: Linhas de várias relações foram combinadas (intercaladas) em um único conjunto de linhas.
    • União: linhas de várias relações que usam o mesmo esquema foram concatenadas em um único conjunto de linhas.
    • Shuffle: Os dados foram redistribuídos ou reparticionados. As operações aleatórias são caras em relação aos recursos porque movem dados entre executores no cluster.
    • Hash / Sort: As linhas foram agrupadas por uma chave e avaliadas usando uma função agregada como SUM, COUNTou MAX dentro de cada grupo.
    • Filtro: a entrada é filtrada de acordo com um critério, como por uma WHERE cláusula, e um subconjunto de linhas é retornado.
    • (Reutilizado) Exchange: um Shuffle ou Broadcast Exchange é usado para redistribuir os dados entre os nós do cluster com base no particionamento desejado.
    • Limite de coleta: o número de linhas retornadas foi truncado usando uma LIMIT instrução.
    • Take Ordered And Project: As N linhas superiores do resultado da consulta foram retornadas.
  8. Para visualizar o perfil de consulta na IU do Apache Spark, clique Elipse Vertical em na parte superior da página e, em seguida, clique 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 de consulta, consulte Exibir detalhes sobre o perfil de consulta.

Ver 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 gráfico da métrica selecionada para essa tarefa. Siga estas etapas para se familiarizar com as diferentes partes do perfil de consulta.

  1. Clique em Hora 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 > para ver detalhes sobre cada subtarefa.
  4. À direita, clique em Visão geral para ver a instrução SQL, o status, as horas de início e término da consulta, 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 exibir detalhes sobre ela, como a descrição da tarefa e métricas sobre a duração da tarefa, memória consumida, número e tamanho das linhas retornadas e linhagem.
  6. Para fechar os detalhes da subtarefa, clique em X.
  7. Clique no nome do SQL warehouse para ir para as propriedades desse depósito.
  8. Para visualizar o perfil de consulta na IU do Apache Spark, clique Elipse Vertical em na parte superior da página e, em seguida, clique em Abrir na IU do Spark.
  9. Para fechar o perfil de consulta, clique em X na parte superior da página.

Partilhar 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, você tem duas opções:
    • Se o outro usuário tiver a permissão CAN MANAGE na consulta, você poderá compartilhar a URL do perfil de consulta com ele. Clique em Share (Partilhar). O URL é copiado para a á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 espaço de trabalho, você poderá baixar o perfil de consulta como um objeto JSON. Transferir. O arquivo JSON é baixado para o seu sistema local.

Importar um perfil de consulta

Para importar o JSON para um perfil de consulta:

  1. Ver histórico de consultas.

  2. Clique no menu Elipse Vertical 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 no espaço de trabalho. Você precisa importá-lo novamente sempre que quiser visualizá-lo.

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

Próximos passos