Aktivieren von Scanstatistiken für Abfragen
Hinweis
Azure HDInsight on AKS wird am 31. Januar 2025 eingestellt. Vor dem 31. Januar 2025 müssen Sie Ihre Workloads zu Microsoft Fabric oder einem gleichwertigen Azure-Produkt migrieren, um eine abruptes Beendigung Ihrer Workloads zu vermeiden. Die verbleibenden Cluster in Ihrem Abonnement werden beendet und vom Host entfernt.
Bis zum Einstellungsdatum ist nur grundlegende Unterstützung verfügbar.
Wichtig
Diese Funktion steht derzeit als Vorschau zur Verfügung. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure-Vorschauen enthalten weitere rechtliche Bestimmungen, die für Azure-Features in Betaversionen, in Vorschauversionen oder anderen Versionen gelten, die noch nicht allgemein verfügbar gemacht wurden. Informationen zu dieser spezifischen Vorschau finden Sie unter Informationen zur Vorschau von Azure HDInsight on AKS. Bei Fragen oder Funktionsvorschlägen senden Sie eine Anfrage an AskHDInsight mit den entsprechenden Details, und folgen Sie uns für weitere Updates in der Azure HDInsight-Community.
Häufig sind Datenteams erforderlich, um die Leistung zu untersuchen oder Abfragen zu optimieren, um die Ressourcenauslastung zu verbessern oder geschäftliche Anforderungen zu erfüllen.
In Trino für HDInsight on AKS wurde eine neue Funktion hinzugefügt, die es Benutzer*innen ermöglicht, Scanstatistiken für jeden Connector zu erfassen. Diese Funktion bietet tiefere Einblicke in das Abfrageleistungsprofil, das über die von Trino erstellten Statistiken hinaus verfügbar ist.
Sie können dieses Feature mit der Sitzungseigenschaft collect_raw_scan_statistics
und mit dem folgenden Trino-Befehl aktivieren:
SET SESSION collect_raw_scan_statistics=true
Nach der Aktivierung verfügen Quelloperatoren in der Abfrage wie TableScanOperator
, ScanFilterAndProject
usw. über Statistiken zu Datenscans, die Granularität ist pro Operatorinstanz in einer Pipeline.
Tipp
Scanstatistiken sind hilfreich beim Identifizieren von Engpässen, wenn der Cluster oder die Abfrage nicht CPU-eingeschränkt ist, und die Leseleistung der Abfrage erfordert Untersuchung. Außerdem hilft es, das Ausführungsprofil der Abfrage aus einer geteilten Ebene zu verstehen.
Hinweis
Derzeit ist die erfasste Anzahl von Teilen pro Worker aufgrund von Größenbeschränkungen der produzierten Daten auf 1000 beschränkt. Wenn die Anzahl der Splits pro Worker für die Abfrage diesen Grenzwert überschreitet, werden höchsten die 1000 längsten Unterbrechungen zurückgegeben.
So greifen Sie auf Scanstatistiken zu
Sobald die Sitzungseigenschaft festgelegt ist, beginnen nachfolgende Abfragen in der Sitzung, Statistiken von Quelloperatoren zu erfassen, sobald sie verfügbar sind. Es gibt mehrere Möglichkeiten, wie Benutzer Scanstatistiken nutzen und analysieren können, die für eine Abfrage generiert werden.
Query Json
Die Json-Registerkarte auf der Seite "Abfragedetails" stellt die JSON-Darstellung der Abfrage bereit, die Statistiken zu jeder Phase, Pipeline der Abfrage enthält. Wenn die Sitzungseigenschaft festgelegt ist, enthält die JSON ein neues Feld namens scanStats
in queryStats.operatorSummaries[*]
. Das Array enthält ein Objekt pro Operatorinstanz.
Das folgende Beispiel zeigt eine JSON für eine Abfrage mit aktivierten hive connector
und Scanstatistiken.
Hinweis
Die Zusammenfassung der Überprüfungsstatistiken enthält splitInfo, die vom Connector aufgefüllt wird. Auf diese Weise können Benutzer steuern, welche Informationen zum Speicher sie in ihre benutzerdefinierten Connectors aufnehmen möchten.
Benutzeroberfläche für Scanstatistiken
Sie finden eine neue Registerkarte namens Scan Stats
auf der Seite „Abfragedetails“, die die von diesem Feature erzeugten Statistiken visualisiert und Einblicke in das kleinste Detail der Leistung jedes Workers bietet. Auf der Seite können Benutzer das Ausführungsprofil von Trino für die Abfrage mit Informationen wie z. B. gleichzeitigen Lesevorgängen über Zeit und Durchsatz einsehen.
Das folgende Beispiel zeigt eine Seite für eine Abfrage mit aktivierten Scanstatistiken.
Verwenden des Microsoft Query-Loggers**
Microsoft Query Logger bietet integrierte Unterstützung für dieses Feature. Wenn diese Funktion aktiviert ist, füllt das Query-Logger Plug-In eine Tabelle namens operatorstats
zusammen mit der Abfrageereignissetabelle. Diese Tabelle wird denormalisiert, sodass jede Operatorinstanz für jede Abfrage eine Zeile ist.