Habilitar estatísticas de varredura para consultas
Nota
Vamos desativar o Azure HDInsight no AKS em 31 de janeiro de 2025. Antes de 31 de janeiro de 2025, você precisará migrar suas cargas de trabalho para o Microsoft Fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho. Os clusters restantes na sua subscrição serão interrompidos e removidos do anfitrião.
Apenas o apoio básico estará disponível até à data da reforma.
Importante
Esta funcionalidade está atualmente em pré-visualização. Os Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure incluem mais termos legais que se aplicam a funcionalidades do Azure que estão em versão beta, em pré-visualização ou ainda não disponibilizadas para disponibilidade geral. Para obter informações sobre essa visualização específica, consulte Informações de visualização do Azure HDInsight no AKS. Para perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para obter mais atualizações na Comunidade do Azure HDInsight.
Muitas vezes, as equipes de dados são necessárias para investigar o desempenho ou otimizar consultas para melhorar a utilização de recursos ou atender aos requisitos de negócios.
Um novo recurso foi adicionado no Trino for HDInsight no AKS que permite ao usuário capturar estatísticas de varredura para qualquer conector. Esse recurso fornece informações mais detalhadas sobre o perfil de desempenho da consulta além do que está disponível nas estatísticas produzidas pelo Trino.
Você pode habilitar esse recurso usando a propriedade collect_raw_scan_statistics
session e seguindo o comando Trino:
SET SESSION collect_raw_scan_statistics=true
Uma vez habilitado, os operadores de origem na consulta como TableScanOperator
, ScanFilterAndProject
etc. têm estatísticas sobre varreduras de dados, a granularidade é por instância do operador em um pipeline.
Gorjeta
As estatísticas de verificação são úteis para identificar gargalos quando o cluster ou a consulta não está restrito à CPU e o desempenho de leitura da consulta precisa ser investigado. Também ajuda a entender o perfil de execução da consulta de uma perspetiva de nível dividido.
Nota
Atualmente, o número capturado de divisões por trabalhador é limitado a 1000 devido a restrições de tamanho dos dados produzidos. Se o número de divisões por trabalhador para a consulta exceder esse limite, as 1000 divisões mais longas serão retornadas.
Como acessar as estatísticas de varredura
Depois que a propriedade session é definida, as consultas subsequentes na sessão começam a capturar estatísticas dos operadores de origem sempre que estiverem disponíveis. Há várias maneiras pelas quais os usuários podem consumir e analisar as estatísticas de varredura geradas para uma consulta.
Consulta Json
A guia Json na página Detalhes da consulta fornece a representação JSON da consulta, que inclui estatísticas sobre cada estágio, pipeline da consulta. Quando a propriedade session é definida, o json inclui um novo campo chamado scanStats
.queryStats.operatorSummaries[*]
A matriz contém um objeto por instância de operador.
O exemplo a seguir mostra um json para uma consulta usando hive connector
e verificando estatísticas habilitadas.
Nota
O resumo das estatísticas da verificação inclui splitInfo, que é preenchido pelo conector. Isso permite que os usuários controlem quais informações sobre a loja eles gostariam de incluir em seus conectores personalizados.
Interface do usuário de estatísticas de varredura
Você pode encontrar uma nova guia chamada Scan Stats
na página Detalhes da consulta que visualiza as estatísticas produzidas por esse recurso e fornece informações sobre o desempenho de grãos divididos de cada trabalhador. A página permite que os usuários visualizem o perfil de execução do trino para a consulta com informações como, leituras simultâneas ao longo do tempo e taxa de transferência.
O exemplo a seguir mostra uma página para uma consulta com estatísticas de varredura habilitadas.
Usando o log do Microsoft Query**
O Microsoft Query logger tem suporte interno para esse recurso. Quando habilitado com esse recurso, o plug-in do registrador de consultas preenche uma tabela chamada operatorstats
junto com a tabela de eventos de consulta, essa tabela é desnormalizada para que cada instância do operador seja uma linha para cada consulta.