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
- Un cluster Trino operativo con HDInsight nel servizio Azure Kubernetes.
- Creare un modello di Resource Manager per il cluster.
- Esaminare l'esempio di modello arm del cluster completo.
- Familiarità con la creazione e la distribuzione di modelli di Resource Manager.
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
eStorage 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 nellamsiResourceId
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
, QueryCreatedEvent
e SplitCompletedEVent
). Queste tabelle e viste vengono create nel catalogo e nello schema forniti come input utente.
Nome delle tabelle:
querycompleted
: contieneQueryCompleted
gli eventi generati da Trino.querycreated
: contieneQueryCreatedEvents
generato da Trino.splitcompleted
: contieneSplitCompletedEvents
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.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per