Referenz der Systemtabelle des Abfrageverlaufs
Wichtig
Diese Systemtabelle befindet sich in der Public Preview. Um auf die Tabelle zuzugreifen, muss das Schema in Ihrem system
Katalog aktiviert sein. Weitere Informationen finden Sie unter Aktivieren des Systemtabellenschemas.
Dieser Artikel enthält Informationen zur Abfrageverlaufs-Systemtabelle, einschließlich einer Gliederung des Schemas der Tabelle.
Wichtig
Um auf die Abfrageverlaufs-Systemtabelle zuzugreifen, müssen Sie das Schema query
aktivieren. Anweisungen zum Aktivieren von Systemschemata finden Sie unter Aktivieren von Systemtabellenschemata.
Tabellenpfad: Diese Systemtabelle befindet sich unter system.query.history
.
Verwenden der Abfrageverlaufstabelle
Die Abfrageverlaufstabelle enthält Datensätze für jede SQL-Anweisung, die mit SQL-Warehouses ausgeführt wird. Die Tabelle enthält kontoweite Datensätze aus allen Arbeitsbereichen in derselben Region, aus der Sie auf die Tabelle zugreifen.
Standardmäßig haben nur Administratoren Zugriff auf die Systemtabelle. Wenn Sie die Daten der Tabelle für einen Benutzer oder eine Gruppe freigeben möchten, empfiehlt Databricks, eine dynamische Ansicht für jeden Benutzer oder jede Gruppe zu erstellen. Weitere Informationen finden Sie unter Erstellen einer dynamischen Ansicht.
Schema der Abfrageverlaufs-Systemtabelle
Die Abfrageverlaufstabelle verwendet das folgende Schema:
Spaltenname | Datentyp | Beschreibung | Beispiel |
---|---|---|---|
account_id |
Zeichenfolge | ID des Kontos | 11e22ba4-87b9-4cc2 -9770-d10b894b7118 |
workspace_id |
Zeichenfolge | Die ID des Arbeitsbereichs, in dem die Abfrage ausgeführt wurde. | 1234567890123456 |
statement_id |
Zeichenfolge | Die ID, die die Ausführung der Anweisung eindeutig identifiziert. Sie können diese ID verwenden, um die Ausführung der Anweisung in der Abfrageverlaufs-UI zu finden. | 7a99b43c-b46c-432b -b0a7-814217701909 |
session_id |
Zeichenfolge | Die Spark-Sitzungs-ID. | 01234567-cr06-a2mp -t0nd-a14ecfb5a9c2 |
execution_status |
Zeichenfolge | Der Beendigungszustand der Anweisung. Dabei sind folgende Werte möglich: - FINISHED : Die Ausführung war erfolgreich.- FAILED : Die Ausführung ist fehlgeschlagen mit der in der zugehörigen Fehlermeldung beschriebenen Fehlerursache- CANCELED : Die Ausführung wurde abgebrochen. |
FINISHED |
compute |
struct | Eine Struktur, die den Typ der für die Ausführung der Anweisung verwendeten Computeressource und ggf. die ID der Ressource darstellt. Der Wert type ist entweder WAREHOUSE oder SERVERLESS_COMPUTE . |
{ type: WAREHOUSE, cluster_id: NULL, warehouse_id: ec58ee3772e8d305 } |
executed_by_user_id |
Zeichenfolge | Die ID des Benutzers, der die Anweisung ausgeführt hat. | 2967555311742259 |
executed_by |
Zeichenfolge | Die E-Mail-Adresse oder der Benutzername des Benutzers, der die Anweisung ausgeführt hat. | example@databricks.com |
statement_text |
Zeichenfolge | Der Text der SQL-Anweisung. Wenn Sie kundenseitig verwaltete Schlüssel konfiguriert haben, ist statement_text leer. |
SELECT 1 |
statement_type |
Zeichenfolge | Der Anweisungstyp. Zum Beispiel: ALTER , COPY und INSERT . |
SELECT |
error_message |
Zeichenfolge | Meldung, in der die Fehlerbedingung beschrieben wird. Wenn Sie kundenseitig verwaltete Schlüssel konfiguriert haben, ist error_message leer. |
[INSUFFICIENT_PERMISSIONS] Insufficient privileges: User does not have permission SELECT on table 'default.nyctaxi_trips'. |
client_application |
Zeichenfolge | Clientanwendung, die die Anweisung ausgeführt hat. Beispiel: Databricks SQL Editor, Tableau und Power BI. Dieses Feld wird von Informationen abgeleitet, die von Clientanwendungen bereitgestellt werden. Werte werden zwar im Laufe der Zeit statisch bleiben, dies kann jedoch nicht garantiert werden. | Databricks SQL Editor |
client_driver |
Zeichenfolge | Der Connector, der für die Verbindung zu Azure Databricks verwendet wird, um die Anweisung auszuführen. Zum Beispiel: Databricks SQL-Treiber für Go, Databricks ODBC-Treiber, Databricks JDBC-Treiber. | Databricks JDBC Driver |
total_duration_ms |
bigint | Gesamte Ausführungszeit der Anweisung in Millisekunden (ohne die Zeit zum Abrufen der Ergebnisse). | 1 |
waiting_for_compute_duration_ms |
bigint | Zeit, die Sie auf die Bereitstellung von Rechenressourcen warten, in Millisekunden. | 1 |
waiting_at_capacity_duration_ms |
bigint | Zeit, die in der Warteschlange für verfügbare Rechenkapazität verbracht wird, in Millisekunden. | 1 |
execution_duration_ms |
bigint | Zeit für die Ausführung der Anweisung in Millisekunden. | 1 |
compilation_duration_ms |
bigint | Zeit für das Laden von Metadaten und die Optimierung der Anweisung in Millisekunden. | 1 |
total_task_duration_ms |
bigint | Die Summe aller Aufgabendauern in Millisekunden. Diese Zeit stellt die kombinierte Zeit dar, die für die Ausführung der Abfrage auf allen Kernen aller Knoten benötigt wurde. Sie kann deutlich länger sein als die Wanduhr-Dauer, wenn mehrere Aufgaben parallel ausgeführt werden. Sie kann kürzer sein als die Wanduhr-Dauer, wenn Aufgaben auf verfügbare Knoten warten. | 1 |
result_fetch_duration_ms |
bigint | Zeit in Millisekunden, die für das Abrufen der Anweisungsergebnisse nach Abschluss der Ausführung aufgewendet wurde. | 1 |
start_time |
Zeitstempel | Der Zeitpunkt, zu dem Databricks die Anfrage erhalten hat. Zeitzoneninformationen werden am Ende des Werts aufgezeichnet, wobei +00:00 die UTC darstellt. |
2022-12-05T00:00:00.000+0000 |
end_time |
Zeitstempel | Der Zeitpunkt, zu dem die Ausführung der Anweisung beendet wurde, ohne die Zeit für das Abrufen der Ergebnisse. Zeitzoneninformationen werden am Ende des Werts aufgezeichnet, wobei +00:00 die UTC darstellt. |
2022-12-05T00:00:00.000+00:00 |
update_time |
Zeitstempel | Der Zeitpunkt, an dem die Anweisung zuletzt eine Fortschrittsaktualisierung erhalten hat. Zeitzoneninformationen werden am Ende des Werts aufgezeichnet, wobei +00:00 die UTC darstellt. |
2022-12-05T00:00:00.000+00:00 |
read_partitions |
bigint | Die Anzahl der Partitionen, die nach Bereinigung gelesen wurden. | 1 |
pruned_files |
bigint | Die Anzahl der bereinigten Dateien. | 1 |
read_files |
bigint | Die Anzahl der gelesenen Dateien nach der Bereinigung. | 1 |
read_rows |
bigint | Gesamtzahl der Zeilen, die von der Anweisung gelesen wurden. | 1 |
produced_rows |
bigint | Gesamtzahl der von der Anweisung zurückgegebenen Zeilen. | 1 |
read_bytes |
bigint | Gesamtgröße der von der Anweisung gelesenen Daten in Bytes. | 1 |
read_io_cache_percent |
int | Der Prozentsatz der aus dem E/A-Cache gelesenen Bytes an persistenten Daten. | 50 |
from_result_cache |
boolean | TRUE gibt an, dass das Anweisungsergebnis aus dem Cache abgerufen wurde. |
TRUE |
spilled_local_bytes |
bigint | Größe der Daten in Bytes, die während der Ausführung der Anweisung vorübergehend auf den Datenträger geschrieben werden. | 1 |
written_bytes |
bigint | Die Größe der in den Cloud Object Storage geschriebenen persistenten Daten in Bytes. | 1 |
shuffle_read_bytes |
bigint | Die Gesamtmenge der über das Netzwerk gesendeten Daten in Bytes. | 1 |
query_source |
struct | Eine Struktur, die Schlüssel-Wert-Paare enthält, die eine oder mehrere Databricks-Entitäten darstellen, die an der Ausführung dieser Anweisung beteiligt waren, z. B. Aufträge, Notebooks oder Dashboards. Dieses Feld zeichnet nur Databricks-Entitäten auf. | { job_info: { job_id: 64361233243479 job_run_id: 887406461287882 job_task_key: “job_task_1” job_task_run_id: 110378410199121 } |
executed_as |
Zeichenfolge | Der Name des Benutzers oder Dienstprinzipals, dessen Berechtigung zum Ausführen der Anweisung verwendet wurde. | example@databricks.com |
executed_as_user_id |
Zeichenfolge | Die ID des Benutzers oder Dienstprinzipals, dessen Berechtigung zum Ausführen der Anweisung verwendet wurde. | 2967555311742259 |
Anzeigen des Abfrageprofils für einen Datensatz
Um anhand eines Eintrags in der Tabelle Abfrageverlauf zum Abfrageprofil einer Abfrage zu navigieren, gehen Sie wie folgt vor:
- Identifizieren Sie den Datensatz, der Sie interessiert, und kopieren Sie dann die
statement_id
des Datensatzes. - Verweisen Sie auf die
workspace_id
des Datensatzes, um sicherzustellen, dass Sie in demselben Arbeitsbereich wie der Datensatz angemeldet sind. - Wählen Sie in der Randleiste des Arbeitsbereichs Abfrageverlauf aus.
- Fügen Sie im Feld Anweisungs-ID die
statement_id
in den Datensatz ein. - Klicken Sie auf den Namen einer Abfrage. Es wird eine Übersicht über Abfragemetriken angezeigt.
- Klicken Sie auf Siehe Abfrageprofil.