Condividi tramite


Registrazione delle query

Importante

Azure HDInsight su AKS è stato ritirato il 31 gennaio 2025. Scopri di più su con questo annuncio.

È necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare la chiusura brusca dei carichi di lavoro.

Importante

Questa funzionalità è attualmente in anteprima. Le condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure in versione beta, in anteprima o altrimenti non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere informazioni sull'anteprima di Azure HDInsight su AKS. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con tutte le informazioni necessarie e seguireci per altri aggiornamenti sulla Community di Azure HDInsight.

Trino supporta listener di eventi personalizzati che possono essere utilizzati per monitorare gli eventi del ciclo di vita delle query. È possibile creare listener di eventi personalizzati o utilizzare un plug-in incorporato fornito da HDInsight su AKS, che registra gli eventi nell'archiviazione BLOB di Azure.

È possibile abilitare la registrazione di query predefinita in due modi:

  • È possibile abilitare la registrazione delle query predefinite durante la creazione di cluster Trino abilitando il catalogo Hive.

  • È possibile abilitare la registrazione di query integrate nel cluster usando il modello ARM (Azure Resource Manager).

Questo articolo illustra l'aggiunta della registrazione delle query al cluster usando il template ARM.

Prerequisiti

Abilitare la registrazione delle query

Per abilitare il plug-in di registrazione delle query predefinito nel cluster Trino, aggiungere/aggiornare la sezione clusterProfile.trinoProfile.userTelemetrySpec con le proprietà seguenti nel template ARM del cluster.

Proprietà Descrizione
path Percorso completo di una directory usata come base per acquisire i log di query diversi.
hivecatalogName Questo catalogo viene utilizzato per montare tabelle esterne sui file scritti nell'account di archiviazione. Questo catalogo deve essere aggiunto al tuo cluster, Aggiungere il catalogo hive.
hivecatalogSchema Il plug-in di registrazione delle query usa questo schema per montare la tabella esterna per i log, e lo crea se non esiste già. Valore predefinito - trinologs
partitionRetentionInDays Il plug-in di registrazione delle query elimina le partizioni nelle tabelle di log, che sono precedenti alla configurazione specificata. Valore predefinito - 365

L'esempio seguente illustra come viene abilitata una registrazione delle query in un cluster Trino. Aggiungi questo JSON di esempio sotto [*].properties.clusterProfile nel modello ARM.

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

Distribuire il modello ARM aggiornato per riflettere le modifiche nel cluster. Scopri come distribuire un modello ARM.

Nota

  • Il plug-in usa l'identità gestita assegnata dall'utente (MSI) associata al cluster per autenticarsi con lo storage, aggiungere accesso ai profili Contributor e Storage Blob Data Owner per l'MSI per assicurarsi che il plug-in possa scrivere log negli account di archiviazione.
    Il nome dell'MSI assegnato dall'utente è elencato nella proprietà msiResourceId nel JSON della risorsa del cluster. Informazioni su come assegnare un ruolo.

  • PartitionRetentionInDays rimuove solo la partizione di metadati dalla tabella montata, non elimina i dati. Pulisci i dati secondo i tuoi requisiti, se non sono più richiesti.

Gestione dei metadati

Se l'utente specifica un nome di catalogo nella proprietà hiveCatalogName, il plug-in monta i file di log scritti nell'account di archiviazione come tabelle e viste esterne, che possono essere sottoposte a query tramite Trino.

Il plug-in crea tre tabelle e tre viste, che possono essere usate per eseguire query sugli eventi del ciclo di vita (QueryCompletedEvent, QueryCreatedEvente SplitCompletedEVent). Queste tabelle e viste & vengono create nel catalogo e nello schema forniti dall'utente.

Nome delle tabelle:

  • querycompleted: contiene QueryCompleted eventi generati da Trino.
  • querycreated: Contiene QueryCreatedEvents attivato da Trino.
  • splitcompleted: contiene SplitCompletedEvents attivato da Trino.

Nome delle visualizzazioni:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Nota

Gli utenti sono incoraggiati a utilizzare le visualizzazioni perché sono immuni alle modifiche dello schema sottostante e tengono conto della tabella descritta.

Archiviazione delle tabelle

Il plug-in supporta l'archiviazione della (N-1)ª tabella nello scenario in cui l'utente decide di cambiare il path o la posizione esterna dei log. In questo caso, il plug-in rinomina la tabella che punta al percorso precedente come <table_name>_archived, la vista creata unisce il risultato delle tabelle correnti e archiviate in questo scenario.

Creare il plug-in personalizzato

È anche possibile creare un plug-in del listener di eventi personalizzato seguendo le istruzioni riportate nella documentazione e distribuire plug-in personalizzati seguendo i passaggi di distribuzione del plug-in .