ما هو اتحاد Lakehouse

هام

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

تقدم هذه المقالة Lakehouse Federation، النظام الأساسي لاتحاد الاستعلامات الذي يمكنك من استخدام Azure Databricks لتشغيل الاستعلامات مقابل مصادر بيانات خارجية متعددة. كما يصف كيفية إعداد اتصالات Lakehouse Federation وإنشاء كتالوجات خارجية في مخزن بيانات تعريف كتالوج Unity.

ما هو اتحاد Lakehouse؟

Lakehouse Federation هو النظام الأساسي لاتحاد الاستعلامات ل Azure Databricks. يصف مصطلح اتحاد الاستعلام مجموعة من الميزات التي تمكن المستخدمين والأنظمة من تشغيل الاستعلامات مقابل مصادر بيانات متعددة دون الحاجة إلى ترحيل جميع البيانات إلى نظام موحد.

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

لماذا تستخدم Lakehouse Federation؟

يؤكد مستودع التخزين على التخزين المركزي للبيانات لتقليل تكرار البيانات وعزلها. قد يكون لدى مؤسستك العديد من أنظمة البيانات في الإنتاج، وقد ترغب في الاستعلام عن البيانات في الأنظمة المتصلة لعدة أسباب:

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

في كل من هذه السيناريوهات، يصلك اتحاد الاستعلام إلى نتائج التحليلات بشكل أسرع، لأنه يمكنك الاستعلام عن البيانات في مكانها وتجنب معالجة ETL المعقدة والمستهلكة للوقت.

يقصد ب Lakehouse Federation حالات الاستخدام عندما:

  • لا تريد استيعاب البيانات في Azure Databricks.
  • تريد أن تستفيد الاستعلامات الخاصة بك من الحوسبة في نظام قاعدة البيانات الخارجية.
  • تريد مزايا واجهات كتالوج Unity وإدارة البيانات، بما في ذلك التحكم في الوصول الدقيق، و دورة حياة البيانات، والبحث.

نظرة عامة على إعداد Lakehouse Federation

لتوفير مجموعة بيانات للاستعلام للقراءة فقط باستخدام Lakehouse Federation، يمكنك إنشاء ما يلي:

  • اتصال، كائن قابل للتأمين في كتالوج Unity يحدد مسارا وبيانات اعتماد للوصول إلى نظام قاعدة بيانات خارجي.
  • كتالوج خارجي، وهو عنصر قابل للتأمين في كتالوج Unity يعكس قاعدة بيانات في نظام بيانات خارجي، ما يتيح لك إجراء استعلامات للقراءة فقط على نظام البيانات هذا في مساحة عمل Azure Databricks الخاصة بك، وإدارة الوصول باستخدام كتالوج Unity.

مصادر البيانات المدعومة

يدعم Lakehouse Federation الاتصالات إلى أنواع قواعد البيانات التالية:

متطلبات الاتصال

متطلبات مساحة العمل:

  • مساحة العمل ممكنة ل Unity Catalog.

متطلبات الحساب:

  • اتصال الشبكة من نظام مجموعة Databricks Runtime أو مستودع SQL إلى أنظمة قاعدة البيانات الهدف. راجع توصيات الشبكات ل Lakehouse Federation.
  • يجب أن تستخدم مجموعات Azure Databricks Databricks وقت تشغيل Databricks 13.3 LTS أو أعلى ووضع الوصول المشترك أو أحادي المستخدم.
  • يجب أن تكون مستودعات SQL Pro أو بلا خادم.

الأذونات المطلوبة:

  • لإنشاء اتصال، يجب أن تكون مسؤول metastore أو مستخدما لديه CREATE CONNECTION الامتياز على مخزن بيانات تعريف كتالوج Unity المرفق بمساحة العمل.
  • لإنشاء كتالوج خارجي، يجب أن يكون لديك CREATE CATALOG الإذن على metastore وأن تكون إما مالك الاتصال أو أن يكون لديك CREATE FOREIGN CATALOG امتياز على الاتصال.

يتم تحديد متطلبات إذن إضافية في كل مقطع يستند إلى المهام التالية.

إنشاء اتصال

يحدد الاتصال مسارا وبيانات اعتماد للوصول إلى نظام قاعدة بيانات خارجي. لإنشاء اتصال، يمكنك استخدام مستكشف الكتالوج CREATE CONNECTION أو الأمر SQL في دفتر ملاحظات Azure Databricks أو محرر استعلام Databricks SQL.

الأذونات المطلوبة: مسؤول Metastore أو المستخدم الذي يتمتع بالامتياز CREATE CONNECTION .

مستكشف الكتالوج

  1. في مساحة عمل Azure Databricks، انقر فوق أيقونة الكتالوجكتالوج.

  2. في الجزء الأيمن، قم بتوسيع قائمة البيانات الخارجية وحدد الاتصال ions.

  3. انقر فوق إنشاء اتصال.

  4. أدخل اسم الاتصال سهل الاستخدام.

  5. حدد نوع الاتصال ion (موفر قاعدة البيانات، مثل MySQL أو PostgreSQL).

  6. أدخل خصائص الاتصال (مثل معلومات المضيف والمسار وبيانات اعتماد الوصول).

    يتطلب كل نوع اتصال معلومات اتصال مختلفة. راجع المقالة الخاصة بنوع الاتصال، المدرج في جدول المحتويات إلى اليسار.

  7. (اختياري) انقر فوق اختبار الاتصال للتأكد من أنه يعمل.

  8. (اختياري) إضافة تعليق.

  9. انقر فوق Create.

Sql

قم بتشغيل الأمر التالي في دفتر ملاحظات أو محرر استعلام Databricks SQL. هذا المثال للاتصالات بقاعدة بيانات PostgreSQL. تختلف الخيارات حسب نوع الاتصال. راجع المقالة الخاصة بنوع الاتصال، المدرج في جدول المحتويات إلى اليسار.

CREATE CONNECTION <connection-name> TYPE postgresql
OPTIONS (
  host '<hostname>',
  port '<port>',
  user '<user>',
  password '<password>'
);

نوصي باستخدام أسرار Azure Databricks بدلا من سلاسل النص العادي للقيم الحساسة مثل بيانات الاعتماد. على سبيل المثال:

CREATE CONNECTION <connection-name> TYPE postgresql
OPTIONS (
  host '<hostname>',
  port '<port>',
  user secret ('<secret-scope>','<secret-key-user>'),
  password secret ('<secret-scope>','<secret-key-password>')
)

للحصول على معلومات حول إعداد البيانات السرية، راجع إدارة البيانات السرية.

للحصول على معلومات حول إدارة الاتصالات الموجودة، راجع إدارة الاتصالات ل Lakehouse Federation.

إنشاء كتالوج خارجي

يعكس الكتالوج الخارجي قاعدة بيانات في نظام بيانات خارجي بحيث يمكنك الاستعلام عن الوصول إلى البيانات وإدارتها في قاعدة البيانات هذه باستخدام Azure Databricks وUnity Catalog. لإنشاء كتالوج خارجي، يمكنك استخدام اتصال بمصدر البيانات الذي تم تعريفه بالفعل.

لإنشاء كتالوج خارجي، يمكن استخدام مستكشف الكتالوج CREATE FOREIGN CATALOG أو الأمر SQL في دفتر ملاحظات Azure Databricks أو محرر استعلام Databricks SQL.

الأذونات المطلوبة:CREATE CATALOG إذن على metastore وإما ملكية الاتصال أو الامتياز CREATE FOREIGN CATALOG على الاتصال.

مستكشف الكتالوج

  1. في مساحة عمل Azure Databricks، انقر فوق أيقونة الكتالوجكتالوج.

  2. انقر فوق الزر إنشاء كتالوج.

  3. في مربع الحوار إنشاء كتالوج جديد، أدخل اسما للكتالوج وحدد نوعخارجي.

  4. حدد الاتصال الذي يوفر الوصول إلى قاعدة البيانات التي تريد عكسها ككتالوج Unity.

  5. أدخل اسم قاعدة البيانات التي تريد نسخها ككتالوج.

    تختلف المتطلبات اعتمادا على مصدر البيانات:

    • يستخدم MySQL مساحة اسم من طبقتين وبالتالي لا يتطلب اسم قاعدة بيانات.
    • للاتصالات بكتالوج في مساحة عمل Databricks أخرى، أدخل اسم كتالوج Databricks بدلا من اسم قاعدة البيانات.
  6. انقر فوق Create.

Sql

  1. قم بتشغيل أمر SQL التالي في دفتر ملاحظات أو محرر Databricks SQL. العناصر الموجودة بين قوسين اختيارية. استبدل قيم العنصر النائب:

    • <catalog-name>: اسم الكتالوج في Azure Databricks.
    • <connection-name>: كائن الاتصال الذي يحدد مصدر البيانات والمسار وبيانات اعتماد الوصول.
    • <database-name>: اسم قاعدة البيانات التي تريد عكسها ككتالوج في Azure Databricks. غير مطلوب ل MySQL، الذي يستخدم مساحة اسم من طبقتين.
    • <external-catalog-name>: Databricks-to-Databricks فقط: اسم الكتالوج في مساحة عمل Databricks الخارجية التي تقوم بعكسها. راجع إنشاء كتالوج خارجي.
    CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
    OPTIONS (database '<database-name>');
    

للحصول على معلومات حول إدارة الكتالوجات الخارجية والعمل معها، راجع إدارة الكتالوجات الخارجية والعمل معها.

اتحاد Lakehouse والمناظر المجسدة

توصي Databricks بتحميل البيانات الخارجية باستخدام Lakehouse Federation عند إنشاء طرق عرض مجسدة. راجع استخدام طرق العرض المجسدة في Databricks SQL.

عند استخدام Lakehouse Federation، يمكن للمستخدمين الرجوع إلى البيانات الموحدة كما يلي:

CREATE MATERIALIZED VIEW xyz AS SELECT * FROM federated_catalog.federated_schema.federated_table;

القيود

  • الاستعلامات للقراءة فقط.

  • يتم تحديد تقييد الاتصالات باستخدام حد الاستعلام المتزامن Databricks SQL. لا يوجد حد عبر المستودعات لكل اتصال. راجع قائمة الانتظار والتحجيم التلقائي لمستودعات SQL الاحترافية والكلاسيكية.

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

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

  • لكل جدول خارجي المشار إليه، يقوم Azure Databricks بجدولة استعلام فرعي في النظام البعيد لإرجاع مجموعة فرعية من البيانات من هذا الجدول ثم إرجاع النتيجة إلى مهمة منفذ Azure Databricks واحدة عبر دفق واحد.

  • يتوفر وضع وصول المستخدم الفردي فقط للمستخدمين الذين يمتلكون الاتصال.

  • لا يمكن ل Lakehouse Federation توحيد الجداول الخارجية مع معرفات حساسة لحالة الأحرف لاتصالات Azure Synapse أو اتصالات Redshift.