إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime 13.3 LTS وما فوق
إرجاع سجل الأحداث لطرق العرض المجسدة وجداول الدفق وتدفقات DLT.
تعرف على المزيد حول سجل أحداث Delta Live Tables.
إشعار
event_log يمكن استدعاء الدالة ذات القيمة الجدولية فقط من قبل مالك جدول دفق أو طريقة عرض مجسدة، ويمكن الاستعلام عن طريقة العرض التي تم إنشاؤها عبر event_log الدالة ذات القيمة الجدولية فقط من قبل مالك جدول دفق أو طريقة عرض مجسدة. يتعذر مشاركة طريقة العرض مع مستخدمين آخرين.
بناء الجملة
event_log( { TABLE ( table_name ) | pipeline_id } )
الوسيطات
- table_name: اسم طريقة عرض مجسدة أو جدول دفق. يجب ألا يتضمن الاسم مواصفات زمنية. إذا لم يكن الاسم مؤهلا، يتم استخدام الكتالوج والمخطط الحاليين لتأهيل المعرف.
pipeline_id: معرف السلسلة لمسار Delta Live Tables.
المرتجعات
id STRING NOT NULL: معرف فريد لسجل سجل الأحداث.sequence STRING NOT NULL: كائن JSON يحتوي على بيانات تعريف لتحديد الأحداث وترتيبها.origin STRING NOT NULL: كائن JSON يحتوي على بيانات تعريف لأصل الحدث، على سبيل المثال، موفر السحابة أو المنطقةuser_idأو أوpipeline_id.timestamp TIMESTAMP NOT NULL: وقت تسجيل الحدث بالتوقيت العالمي المتفق عليه.message STRING NOT NULL: رسالة يمكن للبشر قراءتها تصف الحدث.level STRING NOT NULL: مستوى التسجيل، على سبيل المثال، أوINFOWARNأوERRORأو .METRICSmaturity_level STRING NOT NULL: استقرار مخطط الحدث. القيم المحتملة هي:STABLE: المخطط مستقر ولن يتغير.NULL: المخطط مستقر ولن يتغير. قد تكونNULLالقيمة إذا تم إنشاء السجل قبلmaturity_levelإضافة الحقل (الإصدار 2022.37).EVOLVING: المخطط غير مستقر وقد يتغير.DEPRECATED: تم إهمال المخطط وقد يتوقف وقت تشغيل Delta Live Tables عن إنتاج هذا الحدث في أي وقت.
error STRING: إذا حدث خطأ، فالتفاصيل التي تصف الخطأ.details STRING NOT NULL: كائن JSON يحتوي على تفاصيل منظمة للحدث. هذا هو الحقل الأساسي المستخدم لتحليل الأحداث.event_type STRING NOT NULL: نوع الحدث.
الأمثلة
لمزيد من الأمثلة، راجع الاستعلام عن سجل الأحداث.
-- 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