تنصيح: جميع الآراء والآراء المعبر عنها في المدونة تنتمي حصريًا إلى الكاتب وليس بالضرورة إلى جهة عمل الكاتب أو أي مجموعة أو فرد آخر. هذه المقالة ليست ترويجًا لأي منصة سحابية / إدارة بيانات. جميع الصور وواجهات برمجة التطبيقات متاحة علنًا على موقع Azure/Databricks.
ما هو رصد Databricks Lakehouse؟
في مقالاتي الأخرى، وصفت ما هي Databricks وUnity Catalog، وكيفية إنشاء فهرس من البداية باستخدام سكريبت. في هذه المقالة، سأصف ميزة رصد Lakehouse المتاحة كجزء من منصة Databricks وكيفية تمكين الميزة باستخدام السكريبتات.
يوفر رصد Lakehouse توفير معلومات عن تحليل البيانات ومقاييس الجودة ذات الصلة بالبيانات لجداول Delta Live في Lakehouse. يوفر رصد Lakehouse من Databricks رؤية شاملة للبيانات مثل التغييرات في حجم البيانات، والتغييرات في التوزيع العددي، ونسبة القيم الفارغة والصفرية في الأعمدة، وكشف الشوائب الفئوية مع مرور الوقت.
لماذا استخدام رصد Lakehouse؟
مراقبة البيانات الخاصة بك وأداء نموذج ML يوفر مقاييس كمية تساعدك في تتبع وتأكيد جودة واستمرارية بياناتك وأداء نموذجك مع مرور الوقت.
إليك تفصيل للميزات الرئيسية:
- تتبع جودة البيانات وسلامة البيانات: يتتبع تدفق البيانات عبر الأنابيب، مضمونا سلامة البيانات ويوفر رؤية في كيفية تغيير البيانات مع مرور الوقت، النسبة المئوية لعمود رقمي، % من الأعمدة الفارغة والصفرية، وما إلى ذلك.
- تغييرات البيانات مع مرور الوقت: يوفر مقاييس لاكتشاف تغييرات البيانات بين البيانات الحالية ونقطة البيانات المعروفة، أو بين نوافذ زمنية متتالية من البيانات
- التوزيع الإحصائي للبيانات: يوفر تغيير التوزيع الرقمي للبيانات مع مرور الوقت الذي يجيب على ما هو توزيع القيم في عمود تصنيفي وكيف يختلف عن الماضي
- أداء نموذج ML وتغييرات التنبؤ: مدخلات نموذج ML، تنبؤات، واتجاهات الأداء مع مرور الوقت
كيفية العمل
توفر مراقبة Databricks Lakehouse أنواع تحليلية مثل: سلاسل زمنية، لقطة، وتستنتج.
أنواع الملف الشخصي للمراقبة
عند تمكين مراقبة Lakehouse لجدول في فهرس Unity، يتم إنشاء جدولين في مخطط المراقبة المحدد. يمكنك الاستعلام وإنشاء لوحات (يوفر Databricks لوحة تحكم قابلة للتكوين افتراضية) والإشعارات على الجداول للحصول على معلومات إحصائية وملف شخصي شاملة حول بياناتك مع مرور الوقت.
- جدول مقاييس التحرك: يحتوي جدول مقاييس التحرك على إحصائيات تتعلق بتحرك البيانات مع مرور الوقت. يلتقط معلومات مثل الفروق في العدد، الفرق في المتوسط، الفرق في % القيم الفارغة والأصفار، إلخ.
- جدول مقاييس الملف الشخصي: يحتوي جدول مقاييس الملف الشخصي على إحصائيات موجزة لكل عمود ولكل تجميع من نافذة زمنية، شريحة، وأعمدة التجميع. بالنسبة لتحليل InferenceLog، يحتوي جدول التحليل أيضًا على مقاييس دقة النموذج.
كيفية تمكين مراقبة Lakehouse عبر النصوص
المتطلبات المسبقة
- يجب أن تكون هناك وحدة تخزين Unity Catalog ومخطط وجداول Delta Live.
- يجب أن يكون المستخدم مالك جدول Delta Live.
- بالنسبة لعناقيد Azure Databricks الخاصة، يجب تكوين الاتصال الخاص من الحوسبة بدون خادم.
الخطوة 1: إنشاء دفتر ملاحظات وتثبيت Databricks SDK
قم بإنشاء دفتر ملاحظات في مساحة عمل Databricks. لإنشاء دفتر ملاحظات في مساحة عملك، انقر على “+” جديد في الشريط الجانبي، ثم اختر دفتر ملاحظات.
سيفتح دفتر ملاحظات فارغ في مساحة العمل. تأكد من اختيار بايثون كلغة للدفتر.
قم بنسخ ولصق مقتطف الشيفرة أدناه في خلية دفتر الملاحظات ثم قم بتشغيل الخلية.
%pip install databricks-sdk --upgrade
dbutils.library.restartPython()
الخطوة 2: إنشاء متغيرات
قم بنسخ ولصق مقتطف الشيفرة أدناه في خلية دفتر الملاحظات ثم قم بتشغيل الخلية.
catalog_name = "catalog_name" #Replace the catalog name as per your environment.
schema_name = "schema_name" #Replace the schema name as per your environment.
monitoring_schema = "monitoring_schema" #Replace the monitoring schema name as per your preferred name.
refresh_schedule_cron = "0 0 0 * * ?" #Replace the cron expression for the refresh schedule as per your need.
الخطوة 3: إنشاء مخطط المراقبة
قم بنسخ ولصق مقتطف الشيفرة أدناه في خلية دفتر الملاحظات ثم قم بتشغيل الخلية. سيقوم هذا المقتطف بإنشاء مخطط المراقبة إذا لم يكن موجودًا بالفعل.
%sql
USE CATALOG `${catalog_name}`;
CREATE SCHEMA IF NOT EXISTS `${monitoring_schema}`
الخطوة 4: إنشاء مراقب
قم بنسخ ولصق مقتطف الشيفرة أدناه في خلية دفتر الملاحظات ثم قم بتشغيل الخلية. سيقوم هذا المقتطف بإنشاء مراقبة Lakehouse لجميع الجداول داخل المخطط.
import time
from databricks.sdk import WorkspaceClient
from databricks.sdk.errors import NotFound, ResourceDoesNotExist
from databricks.sdk.service.catalog import MonitorSnapshot, MonitorInfo, MonitorInfoStatus, MonitorRefreshInfoState, MonitorMetric, MonitorCronSchedule
databricks_url = 'https://adb-xxxx.azuredatabricks.net/' # replace the url with your workspace url
api_token = 'xxxx' # replace the token with your personal access token for the workspace. Best practice - store the token in Azure KV and retrieve the token using key-vault scope.
w = WorkspaceClient(host=databricks_url, token=api_token)
all_tables = list(w.tables.list(catalog_name=catalog_name, schema_name=schema_name))
for table in all_tables:
table_name = table.full_name
info = w.quality_monitors.create(
table_name = table_name,
assets_dir = "/Shared/databricks_lakehouse_monitoring/", # Creates monitoring dashboards in this location
output_schema_name = f"{catalog_name}.{monitoring_schema}",
snapshot = MonitorSnapshot(),
schedule = MonitorCronSchedule(quartz_cron_expression = refresh_schedule_cron, timezone_id = "PST") # update timezone as per your need.
)
# Wait for monitor to be created
while info.status == MonitorInfoStatus.MONITOR_STATUS_PENDING:
info = w.quality_monitors.get(table_name=table_name)
time.sleep(10)
assert info.status == MonitorInfoStatus.MONITOR_STATUS_ACTIVE, "Error creating monitor"
التحقق
بعد تنفيذ السكربت بنجاح، يمكنك الانتقال إلى الفهرس -> المخطط -> الجدول والذهاب إلى علامة التبويب “الجودة” في الجدول لرؤية تفاصيل المراقبة.
إذا قمت بالنقر على زر “عرض لوحة التحكم” في الزاوية العلوية اليسرى من صفحة الرصد, ستتم فتح لوحة التحكم الافتراضية للرصد. في البداية، ستكون البيانات فارغة. مع تشغيل الرصد حسب الجدول الزمني، مع مرور الوقت ستملأ جميع القيم الإحصائية والملف الشخصي وجودة البيانات.
يمكنك أيضًا التنقل إلى علامة “البيانات” في لوحة التحكم. توفر Databricks بشكل مباشر قائمة من الاستعلامات للحصول على الميول ومعلومات الملف الشخصي الأخرى. يمكنك أيضًا إنشاء استعلامات خاصة بك حسب الحاجة للحصول على رؤية شاملة لبياناتك مع مرور الوقت.
الاستنتاج
تقدم مراقبة Databricks Lakehouse طريقة منظمة لتتبع جودة البيانات ومقاييس الملف الشخصي واكتشاف تغييرات البيانات مع مرور الوقت. من خلال تمكين هذه الميزة من خلال النصوص، يمكن للفرق الحصول على رؤى حول سلوك البيانات وضمان موثوقية خطوط الأنابيب الخاصة بهم. يقدم عملية الإعداد الموضحة في هذه المقالة أساسًا للحفاظ على سلامة البيانات ودعم جهود التحليل المستمرة للبيانات.
Source:
https://dzone.com/articles/how-to-enable-azure-databricks-lakehouse-monitoring