Partilhar via


Registo de consultas

Importante

O Azure HDInsight no AKS foi desativado em 31 de janeiro de 2025. Saiba mais com este anúncio.

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

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 beta, em pré-visualização ou ainda não lançadas para disponibilidade geral. Para obter informações sobre essa visualização específica, consulte Azure HDInsight no AKS informações de visualização. 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 Azure HDInsight .

O Trino suporta ouvintes de eventos personalizados que podem ser usados para ouvir eventos do ciclo de vida do Query. 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 log de consultas interno de duas maneiras:

  • Você pode ativar o registo de consultas interno durante a criação do cluster Trino ao habilitar o catálogo Hive.

  • Você pode habilitar o log de consultas interno em seu cluster usando o modelo ARM.

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

Pré-requisitos

Habilitar o registo de consultas

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

Propriedade Descrição
path Caminho totalmente qualificado para um diretório usado como raiz para capturar diferentes logs de consulta.
hivecatalogName Este catálogo é usado para montar tabelas externas nos arquivos escritos na conta de armazenamento. Este catálogo deve ser adicionado ao seu cluster Adicionar catálogo de hive.
hivecatalogSchema O plug-in de registo de consultas utiliza este esquema para montar a tabela externa para os logs, criando-o se ainda não existir. Valor padrão - trinologs
partitionRetentionInDays O plug-in de log de consultas elimina 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 é habilitado em um cluster Trino. Adicione este exemplo de json em [*].properties.clusterProfile no modelo ARM.

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

Implante o modelo ARM atualizado para refletir as alterações no cluster. Aprenda como implantar um modelo ARM.

Observação

  • O plug-in usa a identidade gerida atribuída pelo utilizador (MSI), associada ao cluster, para autenticar com o armazenamento. Por favor, adicione acesso Contributor e Storage Blob Data Owner ao MSI para assegurar que o plug-in possa escrever logs na conta de armazenamento.
    O nome MSI atribuído pelo usuário é listado na propriedade msiResourceId no JSON do recurso do cluster. Saiba como atribuir uma função.

  • PartitionRetentionInDays apenas remove a partição de metadados da tabela montada, não exclui os dados. Por favor, limpe os dados de acordo com suas necessidades, se não for mais necessário.

Gestão de metadados

Se o utilizador 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 visualizações externas, que podem ser consultadas através do Trino.

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

Nome das tabelas:

  • querycompleted: Contém QueryCompleted eventos gerados por Trino.
  • querycreated: Contém QueryCreatedEvents acionado por Trino.
  • splitcompleted: Contém SplitCompletedEvents ativado por Trino.

Nome das visualizações:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Observação

Os usuários são encorajados a usar as visualizações, pois são imunes a alterações de esquema subjacentes e levam em conta a tabela descrita.

Arquivamento de tabelas

O plugin suporta o arquivamento da tabela (N-1) no cenário em que o usuário decide alterar path ou a localização externa dos logs. Se isso acontecer, o plugin renomeia a tabela apontando para o caminho antigo como <table_name>_archived, a exibição criada unirá o resultado das tabelas atuais e arquivadas neste cenário.

Crie o seu plugin personalizado

Você também pode criar um plug-in personalizado de escuta de eventos, seguindo as instruções em docs. Implemente plug-ins personalizados seguindo as etapas de implementação de plug-in.