استخدام كتالوج Unity مع خطوط أنابيب Delta Live Tables

هام

يتوفر دعم Delta Live Tables ل Unity Catalog في المعاينة العامة.

توصي Databricks بتكوين خطوط أنابيب Delta Live Tables باستخدام كتالوج Unity.

تنشر المسارات التي تم تكوينها باستخدام كتالوج Unity جميع طرق العرض المجسدة المحددة وجداول الدفق إلى الكتالوج والمخطط المحددين. يمكن قراءة مسارات كتالوج Unity من جداول ووحدات تخزين كتالوج Unity الأخرى.

لإدارة الأذونات على الجداول التي تم إنشاؤها بواسطة مسار كتالوج Unity، استخدم GRANT و REVOKE.

المتطلبات

الأذونات المطلوبة لإنشاء جداول في كتالوج Unity من مسار Delta Live Tables:

  • USE CATALOG امتيازات على الكتالوج الهدف.
  • CREATE MATERIALIZED VIEWوالامتيازات USE SCHEMA على المخطط الهدف إذا كان المسار الخاص بك ينشئ طرق عرض مجسدة.
  • CREATE TABLE والامتيازات USE SCHEMA على المخطط الهدف إذا كان المسار الخاص بك ينشئ جداول تدفق.
  • إذا لم يتم تحديد مخطط هدف في إعدادات البنية الأساسية لبرنامج ربط العمليات التجارية، يجب أن يكون لديك CREATE MATERIALIZED VIEW أو CREATE TABLE امتيازات على مخطط واحد على الأقل في الكتالوج الهدف.

الحساب المطلوب لتشغيل مسار تمكين كتالوج Unity:

  • مجموعات وضع الوصول المشترك. لا يمكن تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية الممكنة في كتالوج Unity على نظام مجموعة مستخدم واحد ("معين"). راجع قيود وضع الوصول المشترك على كتالوج Unity.

يتضمن الحساب المطلوب للاستعلام عن الجداول التي تم إنشاؤها بواسطة مسار Delta Live Tables باستخدام كتالوج Unity (بما في ذلك جداول البث وطرق العرض المجسدة) أيا مما يلي:

  • مستودعات SQL

  • مجموعات وضع الوصول المشترك على Databricks Runtime 13.3 LTS أو أعلى.

  • مجموعات وضع الوصول لمستخدم واحد (أو "معين")، إذا تم تمكين التحكم في الوصول الدقيق على نظام مجموعة المستخدم الفردي (أي أن نظام المجموعة يعمل على Databricks Runtime 15.4 أو أعلى ويتم تمكين الحوسبة بلا خادم لمساحة العمل). لمزيد من المعلومات، راجع التحكم في الوصول الدقيق على حساب مستخدم واحد.

  • مجموعات وضع الوصول لمستخدم واحد (أو "معين") على 13.3 LTS إلى 15.3، فقط إذا قام مالك الجدول بتشغيل الاستعلام.

تنطبق قيود الحوسبة الإضافية. راجع القسم التالي.

القيود

فيما يلي قيود عند استخدام كتالوج Unity مع جداول Delta Live:

  • بشكل افتراضي، يمكن فقط لمالك البنية الأساسية لبرنامج ربط العمليات التجارية ومسؤولي مساحة العمل عرض سجلات برنامج التشغيل من نظام المجموعة الذي يقوم بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية التي تدعم كتالوج Unity. للسماح للمستخدمين الآخرين بالوصول إلى سجلات برامج التشغيل، راجع السماح للمستخدمين غير المسؤولين بعرض سجلات برامج التشغيل من البنية الأساسية لبرنامج ربط العمليات التجارية الممكنة لكتالوج Unity.

  • لا يمكن ترقية المسارات الموجودة التي تستخدم Hive metastore لاستخدام كتالوج Unity. لترحيل مسار موجود يكتب إلى Hive metastore، يجب إنشاء مسار جديد وإعادة استيعاب البيانات من مصدر (مصادر) البيانات.

  • لا يمكنك إنشاء مسار تمكين كتالوج Unity في مساحة عمل مرفقة بمخزن بيانات التعريف الذي تم إنشاؤه أثناء المعاينة العامة لكتالوج Unity. راجع الترقية إلى توريث الامتيازات.

  • JARs غير مدعومة. يتم دعم مكتبات Python التابعة لجهة خارجية فقط. راجع إدارة تبعيات Python لخطوط أنابيب Delta Live Tables.

  • استعلامات لغة معالجة البيانات (DML) التي تعدل مخطط جدول دفق غير مدعومة.

  • لا يمكن استخدام طريقة عرض مجسدة تم إنشاؤها في مسار Delta Live Tables كمصدر دفق خارج هذا المسار، على سبيل المثال، في مسار آخر أو دفتر ملاحظات انتقال البيانات من الخادم.

  • إذا تم نشر البنية الأساسية لبرنامج ربط العمليات التجارية إلى مخطط مع موقع تخزين مدار، يمكن تغيير المخطط في تحديث لاحق، ولكن فقط إذا كان المخطط المحدث يستخدم نفس موقع التخزين مثل المخطط المحدد مسبقا.

  • يتم تخزين الجداول في موقع التخزين للمخطط الهدف. إذا لم يتم تحديد موقع تخزين مخطط، يتم تخزين الجداول في موقع تخزين الكتالوج. إذا لم يتم تحديد مواقع تخزين المخطط والكتالوج، يتم تخزين الجداول في موقع التخزين الجذر ل metastore.

  • لا تعرض علامة التبويب محفوظات مستكشف الكتالوج المحفوظات لجداول البث أو طرق العرض المجسدة.

  • LOCATION الخاصية غير معتمدة عند تعريف جدول.

  • لا يمكن نشر البنية الأساسية لبرنامج ربط العمليات التجارية الممكنة على كتالوج Unity إلى Hive metastore.

  • يتوفر دعم Python UDF في المعاينة العامة.

  • لا يمكنك استخدام Delta Sharing مع طريقة عرض مجسدة في Delta Live Tables أو جدول دفق تم نشره في كتالوج Unity.

  • لا يمكنك استخدام دالة event_log قيم الجدول في مسار أو استعلام للوصول إلى سجلات الأحداث لمسارات متعددة.

  • لا يمكنك مشاركة طريقة عرض تم إنشاؤها عبر دالة event_log قيم الجدول مع مستخدمين آخرين.

  • أنظمة مجموعات العقدة الواحدة غير مدعومة مع البنية الأساسية لبرنامج ربط العمليات التجارية الممكنة في كتالوج Unity. نظرا لأن Delta Live Tables قد تنشئ مجموعة من عقدة واحدة لتشغيل مسارات أصغر، فقد تفشل البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك مع ظهور رسالة خطأ تشير single-node modeإلى . إذا حدث ذلك، فحدد عاملا واحدا على الأقل عند تكوين الحساب. راجع تكوين الحوسبة لمسار Delta Live Tables.

إشعار

قد تتضمن الملفات الأساسية التي تدعم طرق العرض المجسدة بيانات من جداول المصدر (بما في ذلك معلومات التعريف الشخصية المحتملة) التي لا تظهر في تعريف طريقة العرض المجسدة. تتم إضافة هذه البيانات تلقائيا إلى التخزين الأساسي لدعم التحديث المتزايد لطرق العرض المجسدة.

نظرا لأن الملفات الأساسية لعرض مجسد قد تخاطر بكشف البيانات من الجداول الأولية وليس جزءا من مخطط العرض المجسد، توصي Databricks بعدم مشاركة التخزين الأساسي مع المستهلكين غير الموثوقين في المراحل النهائية.

على سبيل المثال، افترض أن تعريف طريقة العرض المجسد يتضمن عبارة COUNT(DISTINCT field_a) . على الرغم من أن تعريف طريقة العرض المجسدة يتضمن العبارة التجميعية COUNT DISTINCT فقط، فإن الملفات الأساسية ستحتوي على قائمة بالقيم الفعلية ل field_a.

هل يمكنني استخدام البنية الأساسية لبرنامج ربط العمليات التجارية Hive metastore وUnity Catalog معا؟

يمكن أن تحتوي مساحة العمل الخاصة بك على مسارات تستخدم كتالوج Unity ومخزن Hive metastore القديم. ومع ذلك، لا يمكن كتابة مسار واحد إلى Hive metastore وUnity Catalog. لا يمكن ترقية المسارات الموجودة التي تكتب إلى Hive metastore لاستخدام كتالوج Unity.

لا تتأثر المسارات الموجودة التي لا تستخدم كتالوج Unity بإنشاء مسارات جديدة تم تكوينها باستخدام كتالوج Unity. تستمر هذه المسارات في الاحتفاظ بالبيانات إلى Hive metastore باستخدام موقع التخزين المكون.

ما لم يتم تحديد خلاف ذلك في هذا المستند، يتم دعم كافة مصادر البيانات الموجودة ووظائف Delta Live Tables مع المسارات التي تستخدم كتالوج Unity. يتم دعم كل من واجهات Python وSQL مع المسارات التي تستخدم كتالوج Unity.

التغييرات في الوظائف الموجودة

عند تكوين Delta Live Tables لاستمرار البيانات في كتالوج Unity، تتم إدارة دورة حياة الجدول بواسطة مسار Delta Live Tables. لأن البنية الأساسية لبرنامج ربط العمليات التجارية تدير دورة حياة الجدول والأذونات:

  • عند إزالة جدول من تعريف مسار Delta Live Tables، تتم إزالة طريقة العرض المجسدة المقابلة أو إدخال جدول البث من كتالوج Unity في تحديث المسار التالي. يتم الاحتفاظ بالبيانات الفعلية لفترة بحيث يمكن استردادها إذا تم حذفها عن طريق الخطأ. يمكن استرداد البيانات عن طريق إضافة طريقة العرض المجسدة أو جدول الدفق مرة أخرى إلى تعريف البنية الأساسية لبرنامج ربط العمليات التجارية.
  • يؤدي حذف مسار Delta Live Tables إلى حذف كافة الجداول المعرفة في هذا المسار. وبسبب هذا التغيير، يتم تحديث واجهة مستخدم Delta Live Tables لمطالبتك بتأكيد حذف البنية الأساسية لبرنامج ربط العمليات التجارية.
  • لا يمكن للمستخدمين الوصول مباشرة إلى جداول الدعم الداخلية، بما في ذلك تلك المستخدمة لدعم APPLY CHANGES INTO.

كتابة الجداول إلى كتالوج Unity من مسار Delta Live Tables

إشعار

إذا لم تحدد كتالوج ومخطط هدف للبنية الأساسية لبرنامج ربط العمليات التجارية، فلن يتم نشر الجداول في كتالوج Unity ولا يمكن الوصول إليها إلا بواسطة الاستعلامات في نفس المسار.

لكتابة الجداول إلى كتالوج Unity، عند إنشاء مسار، حدد كتالوج Unity ضمن خيارات التخزين، وحدد كتالوج في القائمة المنسدلة الكتالوج ، وحدد مخططا موجودا أو أدخل اسم مخطط جديد في القائمة المنسدلة مخطط الهدف. للتعرف على كتالوجات كتالوج Unity، راجع ما هي الكتالوجات في Azure Databricks؟. للتعرف على المخططات في كتالوج Unity، راجع ما هي المخططات في Azure Databricks؟.

استيعاب البيانات في مسار كتالوج Unity

يمكن للبنية الأساسية لبرنامج ربط العمليات التجارية التي تم تكوينها لاستخدام كتالوج Unity قراءة البيانات من:

  • جداول وطرق عرض وطرق عرض وطرق عرض مجسدة وجداول دفق مدارة وخارجية في كتالوج Unity.
  • جداول Hive metastore وطرق العرض.
  • أداة التحميل التلقائي باستخدام الدالة للقراءة read_files() من المواقع الخارجية ل Unity Catalog.
  • Apache Kafka وAmazon Kinesis.

فيما يلي أمثلة للقراءة من كتالوج Unity وجداول Hive metastore.

استيعاب الدفعات من جدول كتالوج Unity

SQL

CREATE OR REFRESH MATERIALIZED VIEW
  table_name
AS SELECT
  *
FROM
  my_catalog.my_schema.table1;

Python

@dlt.table
def table_name():
  return spark.table("my_catalog.my_schema.table")

دفق التغييرات من جدول كتالوج Unity

SQL

CREATE OR REFRESH STREAMING TABLE
  table_name
AS SELECT
  *
FROM
  STREAM(my_catalog.my_schema.table1);

Python

@dlt.table
def table_name():
  return spark.readStream.table("my_catalog.my_schema.table")

استيعاب البيانات من Hive metastore

يمكن للبنية الأساسية لبرنامج ربط العمليات التجارية التي تستخدم كتالوج Unity قراءة البيانات من جداول Hive metastore باستخدام الكتالوج hive_metastore :

SQL

CREATE OR REFRESH MATERIALIZED VIEW
  table_name
AS SELECT
  *
FROM
  hive_metastore.some_schema.table;

Python

@dlt.table
def table3():
  return spark.table("hive_metastore.some_schema.table")

استيعاب البيانات من أداة التحميل التلقائي

SQL

CREATE OR REFRESH STREAMING TABLE
  table_name
AS SELECT
  *
FROM
  read_files(
    <path-to-uc-external-location>,
    "json"
  )

Python

@dlt.table(table_properties={"quality": "bronze"})
def table_name():
  return (
     spark.readStream.format("cloudFiles")
     .option("cloudFiles.format", "json")
     .load(f"{path_to_uc_external_location}")
 )

مشاركة طرق العرض المجسدة

بشكل افتراضي، يمتلك مالك المسار فقط الإذن للاستعلام عن مجموعات البيانات التي تم إنشاؤها بواسطة البنية الأساسية لبرنامج ربط العمليات التجارية. يمكنك منح المستخدمين الآخرين القدرة على الاستعلام عن جدول باستخدام عبارات GRANT ويمكنك إبطال الوصول إلى الاستعلام باستخدام عبارات REVOKE . لمزيد من المعلومات حول الامتيازات في كتالوج Unity، راجع إدارة الامتيازات في كتالوج Unity.

منح تحديد على جدول

GRANT SELECT ON TABLE
  my_catalog.my_schema.table_name
TO
  `user@databricks.com`

إبطال التحديد على جدول

REVOKE SELECT ON TABLE
  my_catalog.my_schema.table_name
FROM
  `user@databricks.com`

منح إنشاء جدول أو إنشاء امتيازات عرض مجسدة

GRANT CREATE { MATERIALIZED VIEW | TABLE } ON SCHEMA
  my_catalog.my_schema
TO
  { principal | user }

عرض دورة حياة البنية الأساسية لبرنامج ربط العمليات التجارية

تظهر دورة حياة الجداول في مسار Delta Live Tables في مستكشف الكتالوج. تعرض واجهة مستخدم دورة حياة مستكشف الكتالوج جداول المصدر والمصب لطرق العرض المجسدة أو جداول الدفق في البنية الأساسية لبرنامج ربط العمليات التجارية الممكنة لكتالوج Unity. لمعرفة المزيد حول دورة حياة كتالوج Unity، راجع التقاط دورة حياة البيانات وعرضها باستخدام كتالوج Unity.

للحصول على طريقة عرض مجسدة أو جدول دفق في مسار Delta Live Tables ممكن بواسطة كتالوج Unity، سترتبط واجهة مستخدم دورة حياة مستكشف الكتالوج أيضا بالبنية الأساسية لبرنامج ربط العمليات التجارية التي أنتجت طريقة العرض المجسدة أو جدول البث إذا كان المسار يمكن الوصول إليه من مساحة العمل الحالية.

إضافة بيانات أو تغييرها أو حذفها في جدول دفق

يمكنك استخدام عبارات لغة معالجة البيانات (DML)، بما في ذلك عبارات الإدراج والتحديث والحذف والدمج، لتعديل جداول الدفق المنشورة في كتالوج Unity. يتيح دعم استعلامات DML مقابل جداول الدفق حالات الاستخدام مثل تحديث الجداول للامتثال للوائح حماية البيانات العامة (GDPR).

إشعار

  • عبارات DML التي تعدل مخطط الجدول لجدول دفق غير معتمدة. تأكد من أن عبارات DML الخاصة بك لا تحاول تطوير مخطط الجدول.
  • يمكن تشغيل عبارات DML التي تحدث جدول دفق فقط في مجموعة كتالوج Unity مشتركة أو مستودع SQL باستخدام Databricks Runtime 13.3 LTS وما فوق.
  • نظرا لأن الدفق يتطلب مصادر بيانات ملحقة فقط، إذا كانت المعالجة تتطلب دفقا من جدول دفق مصدر مع تغييرات (على سبيل المثال، بواسطة عبارات DML)، قم بتعيين علامة skipChangeCommits عند قراءة جدول دفق المصدر. عند skipChangeCommits تعيين، يتم تجاهل المعاملات التي تحذف السجلات أو تعدلها في الجدول المصدر. إذا لم تتطلب المعالجة جدول دفق، يمكنك استخدام طريقة عرض مجسدة (التي لا تحتوي على قيد الإلحاق فقط) كجدول هدف.

فيما يلي أمثلة لعبارات DML لتعديل السجلات في جدول تدفق.

حذف السجلات ذات معرف معين:

DELETE FROM my_streaming_table WHERE id = 123;

تحديث السجلات بمعرف معين:

UPDATE my_streaming_table SET name = 'Jane Doe' WHERE id = 123;

نشر الجداول باستخدام عوامل تصفية الصفوف وأقنعة الأعمدة

هام

هذه الميزة في المعاينة العامة.

تتيح لك عوامل تصفية الصفوف تحديد دالة تنطبق كعامل تصفية كلما جلب فحص الجدول صفوفا. تضمن عوامل التصفية هذه أن الاستعلامات اللاحقة ترجع فقط الصفوف التي تقيم لها دالة تقييم عامل التصفية إلى true.

تتيح لك أقنعة الأعمدة إخفاء قيم العمود كلما جلب فحص الجدول صفوفا. ترجع الاستعلامات المستقبلية لهذا العمود نتيجة الدالة التي تم تقييمها بدلا من القيمة الأصلية للعمود. لمزيد من المعلومات حول استخدام عوامل تصفية الصفوف وأقنعة الأعمدة، راجع تصفية بيانات الجدول الحساسة باستخدام عوامل تصفية الصفوف وأقنعة الأعمدة.

إدارة عوامل تصفية الصفوف وأقنعة الأعمدة

يجب إضافة عوامل تصفية الصفوف وأقنعة الأعمدة على طرق العرض المجسدة وجداول الدفق أو تحديثها أو إسقاطها من خلال العبارة CREATE OR REFRESH .

للحصول على بناء جملة مفصل حول تعريف الجداول باستخدام عوامل تصفية الصفوف وأقنعة الأعمدة، راجع مرجع لغة Delta Live Tables SQL ومرجع لغة Delta Live Tables Python.

سلوك

فيما يلي تفاصيل مهمة عند استخدام عوامل تصفية الصفوف أو أقنعة الأعمدة في خطوط أنابيب Delta Live Tables:

  • تحديث كمالك: عندما يحدث تحديث البنية الأساسية لبرنامج ربط العمليات التجارية طريقة عرض مجسدة أو جدول دفق، يتم تشغيل دالات عامل تصفية الصف وقناع العمود مع حقوق مالك المسار. وهذا يعني أن تحديث الجدول يستخدم سياق الأمان للمستخدم الذي أنشأ البنية الأساسية لبرنامج ربط العمليات التجارية. يتم تقييم الوظائف التي تتحقق من سياق المستخدم (مثل CURRENT_USER و IS_MEMBER) باستخدام سياق مستخدم مالك المسار.
  • الاستعلام: عند الاستعلام عن طريقة عرض مجسدة أو جدول دفق، يتم تقييم الوظائف التي تتحقق من سياق المستخدم (مثل CURRENT_USER و IS_MEMBER) باستخدام سياق مستخدم المستدعي. يفرض هذا الأسلوب أمان البيانات الخاصة بالمستخدم وعناصر التحكم في الوصول استنادا إلى سياق المستخدم الحالي.
  • عند إنشاء طرق عرض مجسدة عبر جداول المصدر التي تحتوي على عوامل تصفية الصفوف وأقنعة الأعمدة، يكون تحديث طريقة العرض المجسدة دائما تحديثا كاملا. يقوم التحديث الكامل بإعادة معالجة جميع البيانات المتوفرة في المصدر بأحدث التعريفات. تتحقق هذه العملية من تقييم نهج الأمان في الجداول المصدر وتطبيقها باستخدام أحدث البيانات والتعريفات.

الملاحظة

استخدم DESCRIBE EXTENDEDأو INFORMATION_SCHEMAأو أو مستكشف الكتالوج لفحص عوامل تصفية الصفوف وأقنعة الأعمدة الموجودة التي تنطبق على طريقة عرض مجسدة معينة أو جدول دفق. تسمح هذه الوظيفة للمستخدمين بمراجعة ومراجعة الوصول إلى البيانات ومقاييس الحماية على طرق العرض المجسدة وجداول الدفق.