Condividi tramite


Registrazione query

Nota

Azure HDInsight su AKS verrà ritirato il 31 gennaio 2025. Prima del 31 gennaio 2025, sarà necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare interruzioni improvvise dei carichi di lavoro. I cluster rimanenti nella sottoscrizione verranno arrestati e rimossi dall’host.

Solo il supporto di base sarà disponibile fino alla data di ritiro.

Importante

Questa funzionalità è attualmente disponibile solo in anteprima. Le Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure includono termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello 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 su AKS che registra gli eventi in Archiviazione BLOB di Azure.

La registrazione query predefinita può essere abilitata in due modi:

Questo articolo illustra come aggiungere la registrazione query al cluster usando il modello di ARM.

Prerequisiti

Abilitare la registrazione query

Per abilitare il plug-in di registrazione query predefinita nel cluster Trino, aggiungere/aggiornare la sezione clusterProfile.trinoProfile.userTelemetrySpec con le proprietà seguenti nel modello di ARM 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 e deve essere aggiunto nel cluster seguendo la procedura Aggiungere un catalogo hive.
hivecatalogSchema Il plug-in di registrazione query usa questo schema per montare la tabella esterna per i log o lo crea da zero se non esiste già. Valore predefinito - trinologs
partitionRetentionInDays Il plug-in di registrazione query elimina le partizioni nelle tabelle di log precedenti alla configurazione specificata. Valore predefinito - 365

L'esempio seguente illustra come abilitare una registrazione query in un cluster Trino. Aggiungere questo json di esempio in [*].properties.clusterProfile nel modello di ARM.

       "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 nell'account di archiviazione. Aggiungere l'accesso Contributor e Storage Blob Data Owner a MSI per assicurarsi che il plug-in possa scrivere log nell'account di archiviazione.
    Il nome dell'istanza di servizio gestita assegnato dall'utente è elencato nella proprietà msiResourceId nel codice JSON della risorsa del cluster. Informazioni su come assegnare un ruolo.

  • PartitionRetentionInDays rimuove solo la partizione di metadati dalla tabella montata, senza eliminare i dati. Se non sono più necessari, eseguire la pulizia in base alle esigenze.

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 come input dell'utente.

Nome delle tabelle:

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

Nome delle viste:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Nota

È consigliabile usare le viste in quanto esenti dalle modifiche dello schema sottostanti e associate alla tabella descritta.

Archiviazione di tabelle

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

Creare il plug-in personalizzato

Per creare un plug-in di listener di eventi personalizzato, seguire le istruzioni riportate nella documentazione. Per distribuire plug-in personalizzati, seguire la procedura di distribuzione del plug-in.