مراقبة خطوط أنابيب Delta Live Tables
توضح هذه المقالة كيف يمكنك استخدام ميزات المراقبة والمراقبة المضمنة لمسارات Delta Live Tables، بما في ذلك دورة حياة البيانات وسجل التحديثات وإعداد تقارير جودة البيانات.
يمكنك مراجعة معظم بيانات المراقبة يدويا من خلال واجهة مستخدم تفاصيل البنية الأساسية لبرنامج ربط العمليات التجارية. بعض المهام أسهل لإنجازها عن طريق الاستعلام عن بيانات تعريف سجل الأحداث. راجع ما هو سجل أحداث Delta Live Tables؟.
ما هي تفاصيل البنية الأساسية لبرنامج ربط العمليات التجارية المتوفرة في واجهة المستخدم؟
يعرض الرسم البياني للبنية الأساسية لبرنامج ربط العمليات التجارية بمجرد بدء التحديث إلى البنية الأساسية لبرنامج ربط العمليات التجارية بنجاح. تمثل الأسهم التبعيات بين مجموعات البيانات في البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك. بشكل افتراضي، تعرض صفحة تفاصيل البنية الأساسية لبرنامج ربط العمليات التجارية آخر تحديث للجدول، ولكن يمكنك تحديد التحديثات القديمة من قائمة منسدلة.
تتضمن التفاصيل المعروضة معرف المسار ومكتبات المصدر وتكلفة الحساب وإصدار المنتج والقناة التي تم تكوينها للبنية الأساسية لبرنامج ربط العمليات التجارية.
للاطلاع على طريقة عرض جدولية لمجموعات البيانات، انقر فوق علامة التبويب قائمة . تسمح لك طريقة عرض القائمة برؤية جميع مجموعات البيانات في البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك ممثلة كصف في جدول، وهي مفيدة عندما يكون DAG للمسار كبيرا جدا بحيث يتعذر تصوره في طريقة عرض Graph . يمكنك التحكم في مجموعات البيانات المعروضة في الجدول باستخدام عوامل تصفية متعددة مثل اسم مجموعة البيانات ونوعها وحالتها. للعودة إلى مرئيات DAG، انقر فوق Graph.
التشغيل كمستخدم هو مالك البنية الأساسية لبرنامج ربط العمليات التجارية، ويتم تشغيل تحديثات البنية الأساسية لبرنامج ربط العمليات التجارية بأذونات هذا المستخدم. لتغيير run as
المستخدم، انقر فوق أذونات وقم بتغيير مالك المسار.
كيف يمكنك عرض تفاصيل مجموعة البيانات؟
يؤدي النقر فوق مجموعة بيانات في الرسم البياني للمسار أو قائمة مجموعة البيانات إلى عرض تفاصيل حول مجموعة البيانات. تتضمن التفاصيل مخطط مجموعة البيانات ومقاييس جودة البيانات وارتباطا مرة أخرى إلى التعليمات البرمجية المصدر التي تحدد مجموعة البيانات.
عرض محفوظات التحديثات
لعرض محفوظات تحديثات البنية الأساسية لبرنامج ربط العمليات التجارية وحالتها، انقر فوق القائمة المنسدلة محفوظات التحديث في الشريط العلوي.
لعرض الرسم البياني والتفاصيل والأحداث للتحديث، حدد التحديث في القائمة المنسدلة. للعودة إلى التحديث الأخير، انقر فوق إظهار آخر تحديث.
الحصول على إعلامات لأحداث البنية الأساسية لبرنامج ربط العمليات التجارية
لتلقي إعلامات في الوقت الحقيقي لأحداث البنية الأساسية لبرنامج ربط العمليات التجارية مثل الإكمال الناجح لتحديث البنية الأساسية لبرنامج ربط العمليات التجارية أو فشل تحديث البنية الأساسية لبرنامج ربط العمليات التجارية، أضف إعلامات البريد الإلكتروني لأحداث المسار عند إنشاء مسار أو تحريره.
ما هو سجل أحداث Delta Live Tables؟
يحتوي سجل أحداث Delta Live Tables على جميع المعلومات المتعلقة بالبنية الأساسية لبرنامج ربط العمليات التجارية، بما في ذلك سجلات التدقيق، وعمليات التحقق من جودة البيانات، وتقدم البنية الأساسية لبرنامج ربط العمليات التجارية، و دورة حياة البيانات. يمكنك استخدام سجل الأحداث لتعقب حالة مسارات البيانات وفهمها ومراقبتها.
يمكنك عرض إدخالات سجل الأحداث في واجهة مستخدم Delta Live Tables أو واجهة برمجة تطبيقات Delta Live Tables أو عن طريق الاستعلام مباشرة عن سجل الأحداث. يركز هذا القسم على الاستعلام عن سجل الأحداث مباشرة.
يمكنك أيضا تعريف الإجراءات المخصصة للتشغيل عند تسجيل الأحداث، على سبيل المثال، إرسال التنبيهات، مع خطافات الأحداث.
مخطط سجل الأحداث
يصف الجدول التالي مخطط سجل الأحداث. تحتوي بعض هذه الحقول على بيانات JSON التي تتطلب التحليل لتنفيذ بعض الاستعلامات، مثل details
الحقل. يدعم :
Azure Databricks عامل التشغيل لتحليل حقول JSON. راجع : (علامة النقطين) عامل التشغيل.
الحقل | الوصف |
---|---|
id |
معرف فريد لسجل سجل الأحداث. |
sequence |
مستند JSON يحتوي على بيانات تعريف لتحديد الأحداث وترتيبها. |
origin |
مستند JSON يحتوي على بيانات تعريف لأصل الحدث، على سبيل المثال، موفر السحابة أو منطقة user_id pipeline_id موفر السحابة أو أو pipeline_type لإظهار مكان إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية، إما DBSQL أو WORKSPACE . |
timestamp |
وقت تسجيل الحدث. |
message |
رسالة يمكن للبشر قراءتها تصف الحدث. |
level |
نوع الحدث، على سبيل المثال، أو INFO WARN أو ERROR أو .METRICS |
error |
إذا حدث خطأ، فالتفاصيل التي تصف الخطأ. |
details |
مستند JSON يحتوي على تفاصيل منظمة للحدث. هذا هو الحقل الأساسي المستخدم لتحليل الأحداث. |
event_type |
نوع الحدث. |
maturity_level |
استقرار مخطط الحدث. تشمل القيم المحتملة ما يلي: - STABLE : المخطط مستقر ولن يتغير.- NULL : المخطط مستقر ولن يتغير. قد تكون NULL القيمة إذا تم إنشاء السجل قبل maturity_level إضافة الحقل (الإصدار 2022.37).- EVOLVING : المخطط غير مستقر وقد يتغير.- DEPRECATED : تم إهمال المخطط وقد يتوقف وقت تشغيل Delta Live Tables عن إنتاج هذا الحدث في أي وقت. |
الاستعلام عن سجل الأحداث
يعتمد موقع سجل الأحداث والواجهة للاستعلام عن سجل الأحداث على ما إذا كان المسار الخاص بك قد تم تكوينه لاستخدام Hive metastore أو كتالوج Unity.
Hive metastore
إذا كانت البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك تنشر الجداول إلى Hive metastore، يتم تخزين سجل الأحداث في /system/events
أسفل storage
الموقع. على سبيل المثال، إذا قمت بتكوين إعداد المسار storage
الخاص بك ك /Users/username/data
، يتم تخزين سجل الأحداث في /Users/username/data/system/events
المسار في DBFS.
إذا لم تقم بتكوين storage
الإعداد، يكون /pipelines/<pipeline-id>/system/events
موقع سجل الأحداث الافتراضي في DBFS. على سبيل المثال، إذا كان معرف المسار الخاص بك هو 91de5e48-35ed-11ec-8d3d-0242ac130003
، فإن موقع التخزين هو /pipelines/91de5e48-35ed-11ec-8d3d-0242ac130003/system/events
.
يمكنك إنشاء طريقة عرض لتبسيط الاستعلام عن سجل الأحداث. ينشئ المثال التالي طريقة عرض مؤقتة تسمى event_log_raw
. يتم استخدام طريقة العرض هذه في مثال استعلامات سجل الأحداث المضمنة في هذه المقالة:
CREATE OR REPLACE TEMP VIEW event_log_raw AS SELECT * FROM delta.`<event-log-path>`;
استبدل <event-log-path>
بموقع سجل الأحداث.
يسمى كل مثيل لتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية تحديثا. غالبا ما تريد استخراج المعلومات لآخر تحديث. قم بتشغيل الاستعلام التالي للعثور على معرف التحديث الأخير وحفظه في طريقة العرض المؤقتة latest_update_id
. يتم استخدام طريقة العرض هذه في مثال استعلامات سجل الأحداث المضمنة في هذه المقالة:
CREATE OR REPLACE TEMP VIEW latest_update AS SELECT origin.update_id AS id FROM event_log_raw WHERE event_type = 'create_update' ORDER BY timestamp DESC LIMIT 1;
يمكنك الاستعلام عن سجل الأحداث في دفتر ملاحظات Azure Databricks أو محرر SQL. استخدم دفتر ملاحظات أو محرر SQL لتشغيل استعلامات سجل الأحداث النموذجية.
كتالوج Unity
إذا كانت البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك تنشر الجداول إلى كتالوج Unity، فيجب عليك استخدام دالة event_log
قيم الجدول (TVF) لجلب سجل الأحداث للبنية الأساسية لبرنامج ربط العمليات التجارية. يمكنك استرداد سجل الأحداث للبنية الأساسية لبرنامج ربط العمليات التجارية عن طريق تمرير معرف المسار أو اسم جدول إلى TVF. على سبيل المثال، لاسترداد سجلات سجل الأحداث للبنية الأساسية لبرنامج ربط العمليات التجارية ذات المعرف 04c78631-3dd7-4856-b2a6-7d84e9b2638b
:
SELECT * FROM event_log("04c78631-3dd7-4856-b2a6-7d84e9b2638b")
لاسترداد سجلات سجل الأحداث للبنية الأساسية لبرنامج ربط العمليات التجارية التي أنشأت الجدول my_catalog.my_schema.table1
أو تمتلكه :
SELECT * FROM event_log(TABLE(my_catalog.my_schema.table1))
لاستدعاء TVF، يجب استخدام نظام مجموعة مشترك أو مستودع SQL. على سبيل المثال، يمكنك استخدام دفتر ملاحظات مرفق بمجموعة مشتركة أو استخدام محرر SQL المتصل بمستودع SQL.
لتبسيط أحداث الاستعلام عن البنية الأساسية لبرنامج ربط العمليات التجارية، يمكن لمالك المسار إنشاء طريقة عرض عبر event_log
TVF. ينشئ المثال التالي طريقة عرض عبر سجل الأحداث للبنية الأساسية لبرنامج ربط العمليات التجارية. يتم استخدام طريقة العرض هذه في مثال استعلامات سجل الأحداث المضمنة في هذه المقالة.
إشعار
event_log
يمكن استدعاء TVF فقط من قبل مالك البنية الأساسية لبرنامج ربط العمليات التجارية ويمكن الاستعلام عن طريقة العرض التي تم إنشاؤها عبر event_log
TVF فقط من قبل مالك المسار. يتعذر مشاركة طريقة العرض مع مستخدمين آخرين.
CREATE VIEW event_log_raw AS SELECT * FROM event_log("<pipeline-ID>");
استبدل <pipeline-ID>
بالمعرف الفريد لمسار Delta Live Tables. يمكنك العثور على المعرف في لوحة تفاصيل المسار في واجهة مستخدم Delta Live Tables.
يسمى كل مثيل لتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية تحديثا. غالبا ما تريد استخراج المعلومات لآخر تحديث. قم بتشغيل الاستعلام التالي للعثور على معرف التحديث الأخير وحفظه في طريقة العرض المؤقتة latest_update_id
. يتم استخدام طريقة العرض هذه في مثال استعلامات سجل الأحداث المضمنة في هذه المقالة:
CREATE OR REPLACE TEMP VIEW latest_update AS SELECT origin.update_id AS id FROM event_log_raw WHERE event_type = 'create_update' ORDER BY timestamp DESC LIMIT 1;
معلومات دورة حياة الاستعلام من سجل الأحداث
تحتوي الأحداث التي تحتوي على معلومات حول دورة حياة البيانات على نوع flow_definition
الحدث . details:flow_definition
يحتوي الكائن على output_dataset
وتعريف input_datasets
كل علاقة في الرسم البياني.
يمكنك استخدام الاستعلام التالي لاستخراج مجموعات بيانات الإدخال والإخراج لمشاهدة معلومات دورة حياة البيانات:
SELECT
details:flow_definition.output_dataset as output_dataset,
details:flow_definition.input_datasets as input_dataset
FROM
event_log_raw,
latest_update
WHERE
event_type = 'flow_definition'
AND
origin.update_id = latest_update.id
output_dataset |
input_datasets |
---|---|
customers |
null |
sales_orders_raw |
null |
sales_orders_cleaned |
["customers", "sales_orders_raw"] |
sales_order_in_la |
["sales_orders_cleaned"] |
جودة بيانات الاستعلام من سجل الأحداث
إذا قمت بتحديد التوقعات على مجموعات البيانات في البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك، يتم تخزين مقاييس جودة البيانات في details:flow_progress.data_quality.expectations
الكائن. تحتوي الأحداث التي تحتوي على معلومات حول جودة البيانات على نوع flow_progress
الحدث . يستعلم المثال التالي عن مقاييس جودة البيانات لآخر تحديث للبنية الأساسية لبرنامج ربط العمليات التجارية:
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
(
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_raw,
latest_update
WHERE
event_type = 'flow_progress'
AND origin.update_id = latest_update.id
)
GROUP BY
row_expectations.dataset,
row_expectations.name
dataset |
expectation |
passing_records |
failing_records |
---|---|---|---|
sales_orders_cleaned |
valid_order_number |
4083 | 0 |
مراقبة تراكم البيانات عن طريق الاستعلام عن سجل الأحداث
تتعقب Delta Live Tables كمية البيانات الموجودة في التراكم في details:flow_progress.metrics.backlog_bytes
الكائن. تحتوي الأحداث التي تحتوي على مقاييس تراكم على نوع flow_progress
الحدث . يستعلم المثال التالي عن مقاييس تراكم آخر تحديث للبنية الأساسية لبرنامج ربط العمليات التجارية:
SELECT
timestamp,
Double(details :flow_progress.metrics.backlog_bytes) as backlog
FROM
event_log_raw,
latest_update
WHERE
event_type ='flow_progress'
AND
origin.update_id = latest_update.id
إشعار
قد لا تتوفر مقاييس تراكم البيانات استنادا إلى نوع مصدر بيانات البنية الأساسية لبرنامج ربط العمليات التجارية وإصدار وقت تشغيل Databricks.
مراقبة أحداث التحجيم التلقائي المحسنة من سجل الأحداث
يلتقط سجل الأحداث تغيير حجم نظام المجموعة عند تمكين التحجيم التلقائي المحسن في البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك. تحتوي الأحداث التي تحتوي على معلومات حول التحجيم التلقائي المحسن على نوع autoscale
الحدث . يتم تخزين معلومات طلب تغيير حجم نظام المجموعة في details:autoscale
الكائن . يستعلم المثال التالي عن طلبات تغيير حجم نظام مجموعة التحجيم التلقائي المحسن لآخر تحديث للبنية الأساسية لبرنامج ربط العمليات التجارية:
SELECT
timestamp,
Double(
case
when details :autoscale.status = 'RESIZING' then details :autoscale.requested_num_executors
else null
end
) as starting_num_executors,
Double(
case
when details :autoscale.status = 'SUCCEEDED' then details :autoscale.requested_num_executors
else null
end
) as succeeded_num_executors,
Double(
case
when details :autoscale.status = 'PARTIALLY_SUCCEEDED' then details :autoscale.requested_num_executors
else null
end
) as partially_succeeded_num_executors,
Double(
case
when details :autoscale.status = 'FAILED' then details :autoscale.requested_num_executors
else null
end
) as failed_num_executors
FROM
event_log_raw,
latest_update
WHERE
event_type = 'autoscale'
AND
origin.update_id = latest_update.id
مراقبة استخدام موارد الحساب
cluster_resources
توفر الأحداث مقاييس حول عدد فتحات المهام في نظام المجموعة، ومقدار استخدام فتحات المهام هذه، وعدد المهام التي تنتظر جدولتها.
عند تمكين التحجيم التلقائي المحسن، cluster_resources
تحتوي الأحداث أيضا على مقاييس لخوارزمية التحجيم التلقائي، بما في ذلك latest_requested_num_executors
و.optimal_num_executors
تظهر الأحداث أيضا حالة الخوارزمية على أنها حالات مختلفة مثل CLUSTER_AT_DESIRED_SIZE
و SCALE_UP_IN_PROGRESS_WAITING_FOR_EXECUTORS
و BLOCKED_FROM_SCALING_DOWN_BY_CONFIGURATION
.
يمكن عرض هذه المعلومات بالاقتران مع أحداث التحجيم التلقائي لتوفير صورة شاملة للتحجيم التلقائي المحسن.
يستعلم المثال التالي عن محفوظات حجم قائمة انتظار المهام لآخر تحديث للبنية الأساسية لبرنامج ربط العمليات التجارية:
SELECT
timestamp,
Double(details :cluster_resources.avg_num_queued_tasks) as queue_size
FROM
event_log_raw,
latest_update
WHERE
event_type = 'cluster_resources'
AND
origin.update_id = latest_update.id
يستعلم المثال التالي عن محفوظات الاستخدام لآخر تحديث للبنية الأساسية لبرنامج ربط العمليات التجارية:
SELECT
timestamp,
Double(details :cluster_resources.avg_task_slot_utilization) as utilization
FROM
event_log_raw,
latest_update
WHERE
event_type = 'cluster_resources'
AND
origin.update_id = latest_update.id
يستعلم المثال التالي عن محفوظات عدد المنفذين، مصحوبة بمقاييس متاحة فقط لمسارات التوسع التلقائي المحسنة، بما في ذلك عدد المنفذين الذين طلبتهم الخوارزمية في أحدث طلب، والعدد الأمثل للمنفذين الموصى بهم من قبل الخوارزمية استنادا إلى أحدث المقاييس، وحالة خوارزمية التحجيم التلقائي:
SELECT
timestamp,
Double(details :cluster_resources.num_executors) as current_executors,
Double(details :cluster_resources.latest_requested_num_executors) as latest_requested_num_executors,
Double(details :cluster_resources.optimal_num_executors) as optimal_num_executors,
details :cluster_resources.state as autoscaling_state
FROM
event_log_raw,
latest_update
WHERE
event_type = 'cluster_resources'
AND
origin.update_id = latest_update.id
تدقيق البنية الأساسية لبرنامج ربط العمليات التجارية ل Delta Live Tables
يمكنك استخدام سجلات سجل أحداث Delta Live Tables وسجلات تدقيق Azure Databricks الأخرى للحصول على صورة كاملة لكيفية تحديث البيانات في Delta Live Tables.
تستخدم Delta Live Tables بيانات اعتماد مالك المسار لتشغيل التحديثات. يمكنك تغيير بيانات الاعتماد المستخدمة عن طريق تحديث مالك المسار. تقوم Delta Live Tables بتسجيل المستخدم للإجراءات على البنية الأساسية لبرنامج ربط العمليات التجارية، بما في ذلك إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية، وتحرير التكوين، وتشغيل التحديثات.
راجع أحداث كتالوج Unity للحصول على مرجع لأحداث تدقيق كتالوج Unity.
الاستعلام عن إجراءات المستخدم في سجل الأحداث
يمكنك استخدام سجل الأحداث لتدقيق الأحداث، على سبيل المثال، إجراءات المستخدم. تحتوي الأحداث التي تحتوي على معلومات حول إجراءات المستخدم على نوع user_action
الحدث .
يتم تخزين معلومات حول الإجراء في user_action
الكائن في details
الحقل. استخدم الاستعلام التالي لإنشاء سجل تدقيق لأحداث المستخدم. لإنشاء event_log_raw
طريقة العرض المستخدمة في هذا الاستعلام، راجع الاستعلام عن سجل الأحداث.
SELECT timestamp, details:user_action:action, details:user_action:user_name FROM event_log_raw WHERE event_type = 'user_action'
timestamp |
action |
user_name |
---|---|---|
2021-05-20T19:36:03.517+0000 | START |
user@company.com |
2021-05-20T19:35:59.913+0000 | CREATE |
user@company.com |
2021-05-27T00:35:51.971+0000 | START |
user@company.com |
معلومات وقت التشغيل
يمكنك عرض معلومات وقت التشغيل لتحديث البنية الأساسية لبرنامج ربط العمليات التجارية، على سبيل المثال، إصدار Databricks Runtime للتحديث:
SELECT details:create_update:runtime_version:dbr_version FROM event_log_raw WHERE event_type = 'create_update'
dbr_version |
---|
11.0 |