Partilhar via


Registo de 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.

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 habilitar o log de consultas interno durante a criação do cluster Trino habilitando 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 log de consultas

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

Property Description
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 hive.
hivecatalogSchema O plug-in de log de consultas 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 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. Saiba como implantar um modelo ARM.

Nota

  • O plug-in usa a identidade gerenciada atribuída pelo usuário (MSI) vinculada ao cluster para autenticar no armazenamento, adicione Contributor e Storage Blob Data Owner acesse o MSI para garantir que o plug-in possa gravar logs na conta de armazenamento.
    O nome MSI atribuído pelo usuário é listado msiResourceId na propriedade no recurso JSON 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 usuário especificar um nome de catálogo na hiveCatalogName propriedade, o plug-in montará os arquivos de log gravados na conta de armazenamento como tabelas e exibições externas, que podem ser consultadas através do Trino.

O plug-in cria três tabelas e três visualizações, que podem ser usadas para consultar os eventos do ciclo de vida (QueryCompletedEvent, QueryCreatedEvent, e SplitCompletedEVent). Essas tabelas e 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 disparados por Trino.
  • querycreated: Contém QueryCreatedEvents disparado por Trino.
  • splitcompleted: Contém SplitCompletedEvents disparado por Trino.

Nome das visualizações:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Nota

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.

Arquivo de tabelas

O plugin suporta arquivamento (N-1)th tabela no cenário onde o usuário decide alterar o path ou 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 de ouvinte de eventos personalizado, seguir as instruções em docs, Implantar plug-ins personalizados seguindo as etapas de implantação do plug-in.