Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 13.3 LTS und höher
Gibt das Ereignisprotokoll für materialisierte Ansichten, Streamingtabellen und Lakeflow Spark Declarative Pipelines zurück.
Erfahren Sie mehr über das Lakeflow Spark Declarative Pipelines-Ereignisprotokoll.
Note
Diese Funktion gilt nur für Unity Catalog-Pipelines, die mit dem älteren Veröffentlichungsmodus veröffentlicht wurden. Fragen Sie für alle anderen Pipelines die Ereignisprotokolltabelle direkt ab.
Die Tabellenwertfunktion event_log kann nur von der Besitzerin oder dem Besitzer einer Streaming-Tabelle oder materialisierten Ansicht aufgerufen werden, und eine über die Tabellenwertfunktion event_log erstellte Ansicht kann nur von der Besitzerin oder dem Besitzer einer Streaming-Tabelle oder materialisierten Ansicht abgefragt werden. Die Ansicht kann nicht für andere Benutzer freigegeben werden.
Syntax
event_log( { TABLE ( table_name ) | pipeline_id } )
Arguments
- table_name: Der Name einer materialisierten Sicht oder einer Streamingtabelle. Der Name darf keine temporale Spezifikation enthalten. Wenn der Name nicht qualifiziert ist, werden der aktuelle Katalog und das aktuelle Schema verwendet, um den Bezeichner zu qualifizieren.
-
pipeline_id: Der Zeichenfolgenbezeichner einer Pipeline.
Returns
-
id STRING NOT NULL: Ein eindeutiger Bezeichner für den Ereignisprotokolldatensatz. -
sequence STRING NOT NULL: Ein JSON-Objekt, das Metadaten zum Identifizieren und Anordnen von Ereignissen enthält. -
origin STRING NOT NULL: Ein JSON-Dokument, das Metadaten für den Ursprung des Ereignisses enthält (z. B. Cloudanbieter, Region,user_idoderpipeline_id) -
timestamp TIMESTAMP NOT NULL: Der Zeitpunkt, zu dem das Ereignis aufgezeichnet wurde (in UTC). -
message STRING NOT NULL: Eine benutzerfreundliche Meldung, die das Ereignis beschreibt. -
level STRING NOT NULL: Die Protokollierungsebene, z. B.INFO,WARN,ERRORoderMETRICS. -
maturity_level STRING NOT NULL: Die Stabilität des Ereignisschemas. Mögliche Werte:-
STABLE: Das Schema ist stabil und ändert sich nicht. -
NULL: Das Schema ist stabil und ändert sich nicht. Der Wert lautet möglicherweiseNULL, wenn der Datensatz erstellt wurde, bevor das Feldmaturity_levelhinzugefügt wurde (Release 2022.37). -
EVOLVING: Das Schema ist nicht stabil und ändert sich möglicherweise. -
DEPRECATED: Das Schema ist veraltet, und die Runtime der Lakeflow Spark Declarative Pipelines kann die Erstellung dieses Ereignisses jederzeit beenden.
-
-
error STRING: Wenn ein Fehler aufgetreten ist, werden Details zur Beschreibung des Fehlers angezeigt. -
details STRING NOT NULL: Ein JSON-Dokument, das strukturierte Details des Ereignisses enthält. Dies ist das primäre Feld, das zum Analysieren von Ereignissen verwendet wird. -
event_type STRING NOT NULL: Der Ereignistyp.
Examples
Weitere Beispiele finden Sie im Pipeline-Ereignisprotokoll.
-- View the events on a materialized view
> SELECT timestamp, message, details
FROM event_log(table(my_mv))
WHERE level in ('INFO', 'WARN', 'ERROR')
ORDER BY timestamp;
timestamp, message, details
---------------------------
2023-08-12 01:03:05.000, 'Flow "my_mv" is STARTING.', '{"flow_progress":{"status":"STARTING"}}'
-- Create a temp view with the latest update to the table/pipeline
> CREATE OR REPLACE TEMP VIEW latest_update AS
SELECT origin.update_id AS id FROM event_log('<pipeline-ID>')
WHERE event_type = 'create_update' ORDER BY timestamp DESC LIMIT 1;
-- Query lineage information
> SELECT
details:flow_definition.output_dataset as output_dataset,
details:flow_definition.input_datasets as input_dataset
FROM
event_log('<pipeline-ID>'),
latest_update
WHERE
event_type = 'flow_definition' AND origin.update_id = latest_update.id;
output_dataset, input_dataset
-----------------------------
customers, null
sales_orders_raw, null
sales_orders_cleaned, ["customers", "sales_orders_raw"]
sales_order_in_la, ["sales_orders_cleaned"]
-- Query data quality expectation history for a streaming table
> WITH expectations_parsed AS (
SELECT
explode(
from_json(
details:flow_progress.data_quality.expectations,
"array<struct<name: string, dataset: string, passed_records: int, failed_records: int>>"
)
) row_expectations
FROM
event_log(table(my_st)),
latest_update
WHERE
event_type = 'flow_progress'
AND origin.update_id = latest_update.id
)
SELECT
row_expectations.dataset as dataset,
row_expectations.name as expectation,
SUM(row_expectations.passed_records) as passing_records,
SUM(row_expectations.failed_records) as failing_records
FROM expectations_parsed
GROUP BY
row_expectations.dataset,
row_expectations.name;
dataset, expectation, passing_records, failing_records
------------------------------------------------------
sales_orders_cleaned, valid_order_number, 4083, 0