Abfrageprotokollierung
Wichtig
Azure HDInsight auf AKS wurde am 31. Januar 2025 eingestellt. Erfahren Sie mehr mit dieser Ankündigung.
Sie müssen Ihre Workloads zu Microsoft Fabric oder ein gleichwertiges Azure-Produkt migrieren, um eine abrupte Beendigung Ihrer Workloads zu vermeiden.
Wichtig
Dieses Feature befindet sich derzeit in der Vorschau. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure Previews weitere rechtliche Bestimmungen enthalten, die für Azure-Features gelten, die in der Betaversion, in der Vorschau oder auf andere Weise noch nicht in die allgemeine Verfügbarkeit veröffentlicht werden. Informationen zu dieser spezifischen Vorschau finden Sie unter Azure HDInsight auf AKS-Vorschauinformationen. Für Fragen oder Vorschläge zu Funktionen bitten wir Sie, eine Anfrage in AskHDInsight mit den Details zu senden und uns zu folgen, um weitere Updates in der Azure HDInsight Communityzu erhalten.
Trino unterstützt benutzerdefinierte Ereignislistener, die zum Überwachen von Abfragelebenszyklusereignissen verwendet werden können. Sie können Eigene Ereignislistener erstellen oder ein integriertes Plug-In verwenden, das von HDInsight auf AKS bereitgestellt wird, das Ereignisse in Azure Blob Storage protokolliert.
Sie können die integrierte Abfrageprotokollierung auf zwei Arten aktivieren:
Sie können die integrierte Abfrageprotokollierung während Trino-Clustererstellung aktivieren, indem Sie den Strukturkatalog aktivieren.
Sie können die integrierte Abfrageprotokollierung in Ihrem Cluster mithilfe der ARM-Vorlage aktivieren.
In diesem Artikel wird das Hinzufügen der Abfrageprotokollierung zu Ihrem Cluster mithilfe der ARM-Vorlage behandelt.
Voraussetzungen
- Ein operativer Trino-Cluster mit HDInsight auf AKS.
- Erstellen Sie ARM-Vorlage für Ihren Cluster.
- Überprüfen Sie das vollständige Cluster ARM-Vorlage Beispiel.
- Vertrautheit mit ARM-Vorlagenerstellung und -bereitstellung.
Aktivieren der Abfrageprotokollierung
Um das eingebaute Abfrageprotokollierungs-Plugin in Ihrem Trino-Cluster zu aktivieren, fügen Sie den Abschnitt clusterProfile.trinoProfile.userTelemetrySpec
mit den folgenden Eigenschaften in Ihrer Cluster-ARM-Vorlage hinzu oder aktualisieren Sie ihn.
Eigentum | Beschreibung |
---|---|
path |
Vollqualifizierter Pfad zu einem Verzeichnis, das als Wurzelverzeichnis zum Erfassen verschiedener Abfrageprotokolle verwendet wird. |
hivecatalogName |
Dieser Katalog wird verwendet, um externe Tabellen auf den Dateien bereitzustellen, die in einem Speicherkonto geschrieben wurden. Dieser Katalog muss in Ihrem Cluster hinzugefügt werden, Hive-Katalog hinzufügen. |
hivecatalogSchema |
Das Abfrageprotokollierungs-Plug-In verwendet dieses Schema, um die externe Tabelle für die Protokolle zu bereitstellen, erstellt das Plug-In dieses Schema, wenn es noch nicht vorhanden ist. Standardwert - trinologs |
partitionRetentionInDays |
Das Abfrageprotokollierungs-Plug-In schneidet die Partitionen in den Protokolltabellen ab, die älter als die angegebene Konfiguration sind. Standardwert - 365 |
Das folgende Beispiel veranschaulicht, wie eine Abfrageprotokollierung in einem Trino-Cluster aktiviert ist. Fügen Sie dieses Beispiel-JSON unter [*].properties.clusterProfile
in der ARM-Vorlage hinzu.
"trinoProfile": {
"userTelemetrySpec": {
"storage": {
"path": "https://querylogstorageaccount.blob.core.windows.net/logs/trinoquerylogs",
"hivecatalogName": "hive",
"hivecatalogSchema": "trinologs",
"partitionRetentionInDays": 365
}
}
}
Stellen Sie die aktualisierte ARM-Vorlage bereit, um die Änderungen in Ihrem Cluster widerzuspiegeln. Erfahren Sie, wie Sie eine ARM-Vorlagebereitstellen.
Anmerkung
Plugin verwendet die vom Benutzer zugewiesene verwaltete Identität (MSI), die an den Cluster gebunden ist, um sich gegenüber dem Speicher zu authentifizieren. Bitte fügen Sie
Contributor
undStorage Blob Data Owner
Zugriff auf die MSI hinzu, um sicherzustellen, dass das Plugin Protokolle in das Speicherkonto schreiben kann.
Der vom Benutzer zugewiesene MSI-Name wird in der eigenschaftmsiResourceId
im Ressourcen-JSON des Clusters aufgeführt. Erfahren Sie, wie Sie eine Rolle zuweisen.PartitionRetentionInDays entfernt nur die Metadatenpartition aus der bereitgestellten Tabelle, es löscht die Daten nicht. Bereinigen Sie die Daten nach Ihren Anforderungen, wenn sie nicht mehr benötigt werden.
Metadatenverwaltung
Wenn der Benutzer einen Katalognamen in der hiveCatalogName
-Eigenschaft angibt, stellt das Plug-In die Logdateien, die im Speicherkonto geschrieben wurden, als externe Tabellen und Ansichten bereit, die über Trino abgefragt werden können.
Das Plug-In erstellt drei Tabellen und drei Ansichten, die verwendet werden können, um die Lebenszyklusereignisse abzufragen (QueryCompletedEvent
, QueryCreatedEvent
und SplitCompletedEVent
). Diese Tabellen & Ansichten werden unter dem Katalog und schema erstellt, das als Benutzereingabe bereitgestellt wird.
Name der Tabellen:
-
querycompleted
: EnthältQueryCompleted
Ereignisse, die von Trino ausgelöst werden. -
querycreated
: EnthältQueryCreatedEvents
, ausgelöst von Trino. -
splitcompleted
: EnthältSplitCompletedEvents
, das von Trino ausgelöst wurde.
Name der Ansichten:
vquerycompleted
vquerycreated
vsplitcompleted
Anmerkung
Benutzer werden ermutigt, die Ansichten zu verwenden, da sie immun gegen zugrunde liegende Schemaänderungen sind und die beschriebene Tabelle berücksichtigen.
Tabellenarchivierung
Das Plug-In unterstützt die Archivierung der (N-1)ten Tabelle in dem Szenario, in dem der Benutzer beschließt, den path
- oder den externen Speicherort der Protokolle zu ändern.
In diesem Fall benennt das Plugin die Tabelle, die auf den alten Pfad verweist, in <table_name>_archivedum, die erstellte Ansicht wird das Ergebnis der aktuellen und der archivierten Tabellen in diesem Szenario zusammenführen.
Erstellen Ihres benutzerdefinierten Plug-Ins
Sie können auch ein benutzerdefiniertes Ereignislistener-Plugin verfassen, indem Sie den Anweisungen in den -Dokumentenfolgen. Bereitstellen von benutzerdefinierten Plugins gemäß der Plugin-Bereitstellungsschritte.