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:
Durante la creazione del cluster Trino abilitando il catalogo hive.
Usando il modello di Resource Manager (ARM).
Questo articolo illustra come aggiungere la registrazione query al cluster usando il modello di ARM.
Prerequisiti
- Cluster Trino operativo con HDInsight su AKS.
- Creare un modello di Resource Manager per il cluster.
- Esaminare l’esempio del modello di Resource Manager del cluster completo.
- Avere familiarità con la creazione e distribuzione di modelli di ARM.
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
eStorage 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
, QueryCreatedEvent
e SplitCompletedEVent
). Queste tabelle e viste vengono create nel catalogo e nello schema forniti come input dell'utente.
Nome delle tabelle:
querycompleted
: contiene gli eventiQueryCompleted
generati da Trino.querycreated
: contiene iQueryCreatedEvents
generati da Trino.splitcompleted
: contiene iSplitCompletedEvents
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.