استخدام كتالوج Unity مع الدفق المنظم
استخدم Structured Streaming مع كتالوج Unity لإدارة إدارة البيانات لأحمال العمل المتزايدة والمتدفقة على Azure Databricks. يوضح هذا المستند الوظائف المدعومة ويقترح أفضل الممارسات لاستخدام كتالوج Unity والتدفق المنظم معا.
ما وظيفة Structured Streaming التي يدعمها كتالوج Unity؟
لا يضيف كتالوج Unity أي حدود صريحة لمصادر وأحواض الدفق المنظم المتوفرة على Azure Databricks. يسمح لك نموذج إدارة بيانات كتالوج Unity ببث البيانات من الجداول المدارة والخارجية في كتالوج Unity. يمكنك أيضا استخدام المواقع الخارجية التي يديرها كتالوج Unity للتفاعل مع البيانات باستخدام عناوين URL لتخزين الكائنات. يمكنك الكتابة إلى جداول خارجية باستخدام أسماء الجداول أو مسارات الملفات. يجب التفاعل مع الجداول المدارة في كتالوج Unity باستخدام اسم الجدول.
استخدم المواقع الخارجية التي يديرها كتالوج Unity عند تحديد مسارات نقاط التحقق Structured Streaming. لمعرفة المزيد حول توصيل التخزين بأمان باستخدام كتالوج Unity، راجع الاتصال بتخزين الكائنات السحابية والخدمات باستخدام كتالوج Unity.
يختلف دعم ميزة الدفق المنظم اعتمادا على إصدار Databricks Runtime الذي تقوم بتشغيله وما إذا كنت تستخدم وضع الوصول إلى نظام المجموعة المعين أو المشترك. للحصول على التفاصيل، راجع قيود البث ل Unity Catalog.
للحصول على عرض توضيحي شامل باستخدام Structured Streaming على كتالوج Unity، راجع البرنامج التعليمي: تشغيل مسار تحليلات مستودع شامل.
ما وظيفة Structured Streaming غير المدعومة في كتالوج Unity؟
للحصول على قائمة بميزات الدفق المنظم غير المعتمدة في كتالوج Unity، راجع قيود البث للكتالوج Unity.
قراءة طريقة عرض كتالوج Unity كتدفق
في Databricks Runtime 14.1 وما فوق، يمكنك استخدام Structured Streaming لإجراء قراءات دفق من طرق العرض المسجلة في كتالوج Unity. يدعم Azure Databricks فقط عمليات القراءة المتدفقة من طرق العرض المحددة مقابل جداول Delta.
لقراءة طريقة عرض باستخدام Structured Streaming، قم بتوفير معرف طريقة العرض إلى .table()
الأسلوب، كما في المثال التالي:
df = (spark.readStream
.table("demoView")
)
يجب أن يكون لدى SELECT
المستخدمين امتيازات في طريقة العرض الهدف.
الخيارات المدعومة لتكوين قراءات الدفق مقابل طرق العرض
يتم دعم الخيارات التالية عند تكوين قراءات الدفق مقابل طرق العرض:
maxFilesPerTrigger
maxBytesPerTrigger
ignoreDeletes
skipChangeCommits
withEventTimeOrder
startingTimestamp
startingVersion
يطبق قارئ البث هذه الخيارات على الملفات وبيانات التعريف التي تحدد جداول Delta الأساسية.
هام
لا تدعم القراءات مقابل طرق العرض المعرفة مع UNION ALL
الخيارات withEventTimeOrder
و startingVersion
.
العمليات المدعومة في طرق عرض المصدر
لا تدعم جميع طرق العرض قراءة الدفق. تتضمن العمليات غير المدعومة في طرق عرض المصدر التجميعات والفرز.
توفر القائمة التالية أوصافا وتعريفات عرض أمثلة للعمليات المدعومة:
المشروع
الوصف: عناصر التحكم في الأذونات على مستوى العمود
Operator:
SELECT... FROM...
مثال على العبارة:
CREATE VIEW project_view AS SELECT id, value FROM source_table
عامل التصفية
الوصف: يتحكم في الأذونات على مستوى الصف
Operator:
WHERE...
مثال على العبارة:
CREATE VIEW filter_view AS SELECT * FROM source_table WHERE value > 100
اتحاد الكل
الوصف: نتائج من جداول متعددة
Operator:
UNION ALL
مثال على العبارة:
CREATE VIEW union_view AS SELECT id, value FROM source_table1 UNION ALL SELECT * FROM source_table2
إشعار
لا يمكنك تعديل تعريف طريقة العرض لإضافة الجداول المشار إليها في طريقة العرض أو تغييرها واستخدام نفس نقطة التحقق المتدفقة.
القيود
تُطبق القيود التالية:
يمكنك فقط الدفق من طرق العرض المدعومة بجداول Delta. طرق العرض المعرفة مقابل مصادر البيانات الأخرى غير مدعومة.
يجب تسجيل طرق العرض باستخدام كتالوج Unity.
يظهر الاستثناء التالي إذا قمت بالبث من طريقة عرض باستخدام عامل تشغيل غير مدعوم:
UnsupportedOperationException: [UNEXPECTED_OPERATOR_IN_STREAMING_VIEW] Unexpected operator <operator> in the CREATE VIEW statement as a streaming source. A streaming view query must consist only of SELECT, WHERE, and UNION ALL operations.
يظهر الاستثناء التالي إذا قمت بتوفير خيارات غير مدعومة:
AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.