استخدام كتالوج 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.