Abfrageprofil
Sie können ein Abfrageprofil verwenden, um die Details einer Abfrageausführung zu visualisieren. Das Abfrageprofil hilft Ihnen bei der Behebung von Leistungsengpässen während der Ausführung der Abfrage. Beispiele:
- Sie können jede Abfrageaufgabe und die zugehörigen Metriken visualisieren, z. B. die aufgewendete Zeit, die Anzahl der verarbeiteten Zeilen, die verarbeiteten Zeilen und den Arbeitsspeicherverbrauch.
- Sie können den langsamsten Teil der Abfrageausführung auf einen Blick erkennen und die Auswirkungen von Änderungen an der Abfrage beurteilen.
- Sie können häufige Fehler in SQL-Anweisungen entdecken und beheben, z. B. ausufernde Joins oder vollständige Tabellenscans.
Wichtig
Die im Abfrageverlauf für eine SQL-Abfrage aufgezeichnete Zeit ist nur die Zeit, die das SQL-Warehouse tatsächlich für die Ausführung der Abfrage aufwendet. Es wird kein zusätzlicher Aufwand aufgezeichnet, der mit der Vorbereitung auf die Ausführung der Abfrage verbunden ist, z. B. interne Warteschlangen oder zusätzliche Zeit im Zusammenhang mit dem Datenupload- und -downloadvorgang.
Anforderungen
Um ein Abfrageprofil anzuzeigen, müssen Sie entweder der Besitzer der Abfrage sein oder für das SQL-Warehouse, von dem die Abfrage ausgeführt wurde, über die KANN VERWALTEN-Berechtigung verfügen.
Anzeigen eines Abfrageprofils
Nachdem Sie eine Abfrage im SQL-Editor oder in einem Notebook ausgeführt haben, können Sie das Abfrageprofil öffnen, indem Sie auf die verstrichene Zeit am unteren Rand der Ausgabe klicken.
Sie können das Abfrageprofil auch wie folgt über den Abfrageverlauf anzeigen:
Zeigen Sie den Abfrageverlauf an.
Klicken Sie auf den Namen einer Abfrage. Es wird eine Übersicht über Abfragemetriken angezeigt.
Klicken Sie auf Siehe Abfrageprofil.
Hinweis
Wenn das Abfrageprofil nicht verfügbar ist, steht für diese Abfrage kein Profil zur Verfügung. Für Abfragen, die über den Abfragecache ausgeführt werden, ist kein Abfrageprofil verfügbar. Um den Abfragecache zu umgehen, nehmen Sie eine geringfügige Änderung an der Abfrage vor, z. B. das Ändern oder Entfernen von
LIMIT
.Zum Anzeigen des Abfrageprofils in der Graphansicht (Standardeinstellung) klicken Sie auf Graphansicht. Wenn Sie das Abfrageprofil als Struktur anzeigen möchten, klicken Sie auf Strukturansicht.
- Die Graph-Ansicht ist für die Visualisierung der Datenflüsse von einem Knoten zu einem anderen optimiert.
- Die Strukturansicht ist für die schnelle Suche nach Problemen mit der Leistung der Abfrage optimiert, so wie zum Identifizieren des am längsten laufenden Operators.
Sie können in der Graphansicht oder Strukturansicht oben auf der Seite auf eine der Registerkarten klicken, um Details zu den einzelnen Aufgaben der Abfrage anzuzeigen.
- Zeitaufwand: Die Summe der Ausführungszeit, die von allen Aufgaben für jeden Vorgang benötigt wird.
- Zeilen: Die Anzahl und Größe der Zeilen, die von den einzelnen Aufgaben der Abfrage betroffen sind.
- Maximaler Arbeitsspeicher: Der maximale Speicherplatz, den jede Aufgabe der Abfrage verbraucht.
Hinweis
Einige Nicht-Photon-Vorgänge werden als Gruppe ausgeführt und verwenden gemeinsame Metriken. In diesem Fall haben alle Unteraufgaben den gleichen Wert wie die übergeordnete Aufgabe für eine bestimmte Metrik.
Wenn ein Vorgang Unteraufgaben enthält, klicken Sie in der Graphansicht auf einen Knoten, um seine Details anzuzeigen. In der Strukturansicht können Sie zum Erweitern auf > klicken.
Der Vorgang jeder Aufgabe wird angezeigt. Standardmäßig sind die Aufgaben und Metriken für einige Vorgänge ausgeblendet. Es ist unwahrscheinlich, dass diese Vorgänge die Ursache von Leistungsengpässen sind. Wenn Sie Informationen zu allen Vorgängen und zusätzliche Metriken sehen möchten, klicken Sie auf oben auf der Seite und klicken Sie dann auf ausführlichen Modus aktivieren. Die häufigsten Vorgänge sind:
- Überprüfung: Daten wurden aus einer Datenquelle gelesen und als Zeilen ausgegeben.
- Verknüpfung: Zeilen aus mehreren Beziehungen wurden zu einem einzigen Satz von Zeilen zusammengefasst (verschachtelt).
- Vereinigung: Zeilen aus mehreren Beziehungen, die dasselbe Schema verwenden, wurden zu einem einzigen Satz von Zeilen verkettet.
- Shuffle: Daten wurden neu verteilt oder neu partitioniert. Shuffle-Vorgänge sind ressourcenintensiv, da sie Daten zwischen Executors im Cluster verschieben.
- Hash/Sortierung: Die Zeilen wurden nach einem Schlüssel gruppiert und innerhalb jeder Gruppe mit einer Aggregatfunktion wie
SUM
,COUNT
oderMAX
ausgewertet. - Filter: Die Eingabe wird nach einem Kriterium gefiltert, z. B. durch eine
WHERE
-Klausel, und eine Teilmenge von Zeilen wird zurückgegeben. - (Wiederverwendet) Exchange: Ein Shuffle- oder Broadcast-Exchange wird verwendet, um die Daten basierend auf der gewünschten Partitionierung unter den Clusterknoten neu zu verteilen.
- Erfassungsgrenze: Die Anzahl der zurückgegebenen Zeilen wurde durch Verwendung einer
LIMIT
-Anweisung eingeschränkt. - Take Ordered And Project: Die ersten N Zeilen des Abfrageergebnisses wurden zurückgegeben.
Um das Abfrageprofil auf der Apache Spark UI anzuzeigen, klicken Sie oben auf der Seite auf , dann klicken Sie auf Öffnen auf Spark UI.
Um das importierte Abfrageprofil zu schließen, klicken Sie oben auf der Seite auf X.
Weitere Informationen zu den im Abfrageprofil verfügbaren Informationen finden Sie unter Anzeigen von Details zum Abfrageprofil.
Anzeigen von Details zum Abfrageprofil
Das Abfrageprofil listet die Aufgaben der obersten Ebene der Abfrage in umgekehrter Reihenfolge auf, wobei die letzte Aufgabe zuerst aufgeführt wird. Auf der linken Seite werden in drei Spalten die Tasksequenz, der Name des Vorgangs und ein Diagramm der ausgewählten Metrik für diese Aufgabe angezeigt. Befolgen Sie diese Schritte, um sich mit den verschiedenen Bereichen des Abfrageprofils vertraut zu machen.
- Klicken Sie auf Time, um die Dauer der einzelnen Unteraufgaben anzuzeigen.
- Klicken Sie auf Zeilen, um die Anzahl und Größe der von der Abfrage zurückgegebenen Zeilen anzuzeigen.
- Klicken Sie auf Arbeitsspeicher, um den von jeder Abfrageaufgabe verbrauchten Speicher anzuzeigen. Wenn die Aufgabe Unteraufgaben aufweist, können Sie auf > klicken, um Details zu jeder Unteraufgabe anzuzeigen.
- Klicken Sie auf der rechten Seite auf Übersicht, um die SQL-Anweisung der Abfrage, den Status, die Start- und Endzeit, die Dauer, den Benutzer, der die Abfrage ausgeführt hat, und das Warehouse, in dem die Abfrage ausgeführt wurde, anzuzeigen.
- Klicken Sie auf eine Aufgabe, um Details zur Aufgabe anzuzeigen, z. B. die Beschreibung der Aufgabe und Metriken zur Dauer der Aufgabe, zum verbrauchten Speicher, zur Anzahl und Größe der zurückgegebenen Zeilen und zur Herkunft.
- Klicken Sie auf X, um die Details der Unteraufgabe zu schließen.
- Klicken Sie auf den Namen des SQL-Warehouse, um zu den Eigenschaften dieses Warehouse zu gelangen.
- Um das Abfrageprofil auf der Apache Spark UI anzuzeigen, klicken Sie oben auf der Seite auf , dann klicken Sie auf Öffnen auf Spark UI.
- Um das importierte Abfrageprofil zu schließen, klicken Sie oben auf der Seite auf X.
Freigeben eines Abfrageprofils
So geben Sie ein Abfrageprofil für einen anderen Benutzer frei:
- Abfrageverlauf anzeigen.
- Klicken Sie auf den Namen der Abfrage.
- Zum Freigeben der Abfrage haben Sie zwei Möglichkeiten:
- Wenn der andere Benutzer die Berechtigung KANN VERWALTEN für die Abfrage hat, können Sie die URL für das Abfrageprofil für ihn freigeben. Klicken Sie auf Freigeben. Die URL wird in die Zwischenablage kopiert.
- Andernfalls können Sie das Abfrageprofil als JSON-Objekt herunterladen, wenn der andere Benutzer nicht über die Berechtigung KANN VERWALTEN verfügt oder kein Mitglied des Arbeitsbereichs ist. Herunterladen. Die JSON-Datei wird auf Ihr lokales System heruntergeladen.
Freigeben eines Abfrageprofils
So importieren Sie die JSON-Datei für ein Abfrageprofil:
Zeigen Sie den Abfrageverlauf an.
Klicken Sie oben rechts auf die , und wählen Sie Abfrageprofil importieren (JSON) aus.
Wählen Sie im Dateibrowser die JSON-Datei aus, die für Sie freigegeben wurde, und klicken Sie auf Öffnen. Die JSON-Datei wird hochgeladen, und das Abfrageprofil wird angezeigt.
Wenn Sie ein Abfrageprofil importieren, wird es dynamisch in Ihre Browsersitzung geladen und bleibt nicht in Ihrem Arbeitsbereich erhalten. Sie müssen es jedes Mal neu importieren, wenn Sie es anzeigen möchten.
Um das importierte Abfrageprofil zu schließen, klicken Sie oben auf der Seite auf X.
Nächste Schritte
- Erfahren Sie mehr über den Zugriff auf Abfragemetriken mithilfe der Abfrageverlaufs-API.
- Weitere Informationen zum Abfrageverlauf