Condividi tramite


Registrazione query

Importante

Questa funzionalità è attualmente disponibile solo in anteprima. Le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure disponibili in versione beta, in anteprima o non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere Informazioni sull'anteprima di Azure HDInsight nel servizio Azure Kubernetes. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con i dettagli e seguire microsoft per altri aggiornamenti nella community di Azure HDInsight.

Trino supporta listener di eventi personalizzati che possono essere usati per ascoltare gli eventi del ciclo di vita delle query. È possibile creare listener di eventi personalizzati o usare un plug-in predefinito fornito da HDInsight nel servizio Azure Kubernetes che registra gli eventi per Archiviazione BLOB di Azure.

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

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

  • È possibile abilitare la registrazione di query predefinita nel cluster usando il modello di Resource Manager.

Questo articolo illustra l'aggiunta della registrazione delle query al cluster usando il modello di Resource Manager.

Prerequisiti

Abilitare la registrazione delle query

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

Proprietà Descrizione
path Percorso completo di una directory usata come radice per acquisire log di query diversi.
hivecatalogName Questo catalogo viene usato per montare tabelle esterne nei file scritti nell'account di archiviazione. Questo catalogo deve essere aggiunto nel cluster, aggiungere il catalogo hive.
hivecatalogSchema Il plug-in di registrazione query usa questo schema per montare la tabella esterna per i log, il plug-in crea questo schema 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. Aggiungere questo json [*].properties.clusterProfile di esempio in nel modello di Resource Manager.

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

Distribuire il modello di Resource Manager aggiornato per riflettere le modifiche nel cluster. Informazioni su come distribuire un modello di Resource Manager.

Nota

  • Il plug-in usa l'identità gestita assegnata dall'utente (MSI) associata al cluster per eseguire l'autenticazione con l'archiviazione, aggiungere Contributor e Storage Blob Data Owner accedere all'identità del servizio gestito per assicurarsi che il plug-in possa scrivere log nell'account di archiviazione.
    Il nome MSI assegnato dall'utente è elencato nella msiResourceId proprietà nel codice 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. Pulire i dati in base ai requisiti, se non sono più necessari.

Gestione dei metadati

Se l'utente specifica un nome di catalogo nella proprietà, il plug-in hiveCatalogName monta i file di log scritti nell'account di archiviazione come tabelle e viste esterne, che possono essere sottoposti 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 come input utente.

Nome delle tabelle:

  • querycompleted: contiene QueryCompleted gli eventi generati da Trino.
  • querycreated: contiene QueryCreatedEvents generato da Trino.
  • splitcompleted: contiene SplitCompletedEvents generato da Trino.

Nome delle visualizzazioni:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Nota

Gli utenti sono invitati a usare le visualizzazioni perché sono immuni alle modifiche dello schema sottostanti e tenere conto della tabella descritta.

Archiviazione tabelle

Il plug-in supporta l'archiviazione (N-1) tabella nello scenario in cui l'utente decide di modificare la posizione esterna o i path 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 listener di eventi personalizzato, seguire le istruzioni riportate nella documentazione Distribuire plug-in personalizzati seguendo la procedura di distribuzione del plug-in.