Compartilhar via


Log de consultas

Importante

O Azure HDInsight no AKS se aposentou em 31 de janeiro de 2025. Saiba mais com este comunicado.

Você precisa migrar suas cargas de trabalho para microsoft fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho.

Importante

Esse recurso está atualmente em versão prévia. Os termos de uso complementares para o Microsoft Azure Previews incluem mais termos legais que se aplicam aos recursos do Azure que estão em versão beta, em versão prévia ou ainda não lançados em disponibilidade geral. Para obter informações sobre essa versão prévia específica, consulte Azure HDInsight em informações de visualização do AKS. Para obter perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para obter mais atualizações sobre da Comunidade do Azure HDInsight.

O Trino dá suporte a ouvintes de eventos personalizados que podem ser usados para escutar eventos de ciclo de vida de consulta. Você pode criar seus próprios ouvintes de eventos ou usar um plug-in interno fornecido pelo HDInsight no AKS que registra eventos no Armazenamento de Blobs do Azure.

Você pode habilitar o registro em log de consulta interno de duas maneiras:

  • Você pode habilitar o registro em log de consultas internas durante a criação de cluster do Trino habilitando o catálogo de Hive.

  • Você pode habilitar o registro interno de consultas no seu cluster usando um modelo ARM.

Este artigo aborda a adição de registro de consultas em log ao cluster usando o modelo ARM.

Pré-requisitos

  • Um cluster Trino operacional com HDInsight no Serviço de Kubernetes do Azure (AKS).
  • Crie template ARM para seu cluster.
  • Revisar o exemplo completo do modelo ARM do cluster .
  • Familiaridade com a criação e implantação de modelos ARM .

Habilitar o registro em log de consulta

Para habilitar o plug-in de log de consulta integrado no cluster Trino, adicione/atualize a seção clusterProfile.trinoProfile.userTelemetrySpec com as seguintes propriedades no modelo ARM do cluster.

Propriedade Descrição
path Caminho totalmente qualificado para um diretório usado como uma raiz para capturar logs de consulta diferentes.
hivecatalogName Esse catálogo é usado para montar tabelas externas nos arquivos gravados na conta de armazenamento. Esse catálogo deve ser adicionado ao cluster, Adicionar catálogo de Hive.
hivecatalogSchema O plug-in de log de consulta usa esse esquema para montar a tabela externa para os logs, o plug-in cria esse esquema se ele ainda não existir. Valor padrão – trinologs
partitionRetentionInDays O plug-in de log de consulta poda as partições nas tabelas de log, que são mais antigas do que a configuração especificada. Valor padrão – 365

O exemplo a seguir demonstra como um log de consulta está habilitado em um cluster Trino. Adicione este json de exemplo em [*].properties.clusterProfile no modelo do ARM.

       "trinoProfile": { 
          "userTelemetrySpec": { 
          "storage": { 
              "path": "https://querylogstorageaccount.blob.core.windows.net/logs/trinoquerylogs", 
              "hivecatalogName": "hive", 
              "hivecatalogSchema": "trinologs", 
              "partitionRetentionInDays": 365 
          } 
          }
      }   

Implante o modelo do ARM atualizado para refletir as alterações em seu cluster. Saiba como implantar um modelo ARM.

Nota

  • O plug-in usa uma identidade gerenciada (MSI) atribuída pelo usuário e vinculada ao cluster para se autenticar no armazenamento. Conceda acesso Contributor e Storage Blob Data Owner à MSI para garantir que o plug-in possa escrever logs na conta de armazenamento.
    O nome MSI atribuído pelo usuário está listado na propriedade msiResourceId no JSON do recurso do cluster. Saiba como atribuir uma função.

  • PartitionRetentionInDays remove apenas a partição de metadados da tabela montada e não exclui os dados. Limpe os dados de acordo com seus requisitos, se não forem mais necessários.

Gerenciamento de metadados

Se o usuário especificar um nome de catálogo na propriedade hiveCatalogName, o plug-in montará os arquivos de logs gravados na conta de armazenamento como tabelas e visões externas, que podem ser consultados por meio do Trino.

O plug-in cria três tabelas e três exibições, que podem ser usadas para consultar os eventos do ciclo de vida (QueryCompletedEvent, QueryCreatedEvente SplitCompletedEVent). As exibições de tabelas & são criadas sob o catálogo e o esquema fornecidos como entrada do usuário.

Nome das tabelas:

  • querycompleted: contém eventos QueryCompleted disparados pelo Trino.
  • querycreated: contém QueryCreatedEvents disparado pelo Trino.
  • splitcompleted: contém SplitCompletedEvents disparado pelo Trino.

Nome dos modos de exibição:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Nota

Os usuários são incentivados a usar as visualizações, pois elas são imunes às alterações no esquema subjacente e consideram a tabela descrita.

Arquivamento de tabelas

O plug-in oferece suporte ao arquivamento da (N-1)ª tabela no cenário em que o usuário decide alterar o path ou o local externo dos logs. Se isso acontecer, o plug-in renomeará a tabela apontando para o caminho antigo como <table_name>_archived, a exibição criada unirá o resultado das tabelas atuais e arquivadas nesse cenário.

Criar seu plug-in personalizado

Você também pode desenvolver um plug-in de ouvinte de eventos personalizado, seguindo as instruções nos documentos . Implante plug-ins personalizados seguindo as etapas de implantação do plug-in em .