إنشاء موقع خارجي لتوصيل التخزين السحابي ب Azure Databricks

توضح هذه المقالة كيفية تكوين موقع خارجي في كتالوج Unity لتوصيل التخزين السحابي ب Azure Databricks.

تربط المواقع الخارجية بيانات اعتماد تخزين كتالوج Unity مع حاويات تخزين الكائنات السحابية. يتم استخدام المواقع الخارجية لتعريف مواقع التخزين المدارة للكتالوجات والمخططات، ولتعريف مواقع الجداول الخارجية ووحدات التخزين الخارجية.

يمكنك إنشاء موقع خارجي يشير إلى التخزين في حاوية تخزين Azure Data Lake Storage Gen2 أو مستودع Cloudflare R2.

يمكنك إنشاء موقع خارجي باستخدام مستكشف الكتالوج أو Databricks CLI أو أوامر SQL في دفتر ملاحظات أو استعلام Databricks SQL أو Terraform.

إشعار

عند تعريف وحدة تخزين، يتم التحكم في وصول URI السحابي إلى البيانات ضمن مسار وحدة التخزين بواسطة أذونات وحدة التخزين.

قبل البدء

المتطلبات الأساسية:

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

  • يجب أن يكون لديك الامتياز CREATE EXTERNAL LOCATION على كل من metastore وبيانات اعتماد التخزين المشار إليها في الموقع الخارجي. يكون لدى CREATE EXTERNAL LOCATION مسؤولي Metastore على metastore بشكل افتراضي.

إنشاء موقع خارجي يدويا باستخدام مستكشف الكتالوج

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

الأذونات والمتطلبات الأساسية: راجع قبل البدء.

لإنشاء الموقع الخارجي:

  1. سجل الدخول إلى مساحة عمل مرفقة ب metastore.

  2. في الشريط الجانبي، انقر فوق أيقونة الكتالوج كتالوج.

  3. في أعلى جزء الكتالوج، انقر فوق الأيقونة أيقونة إضافة وحدد إضافة موقع خارجي من القائمة.

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

  4. أدخل اسم موقع خارجي.

  5. انسخ مسار الحاوية اختياريا من نقطة تحميل موجودة (حاويات Azure Data Lake Storage Gen2 فقط).

  6. إذا كنت لا تنسخ من نقطة تحميل موجودة، فاستخدم حقل URL لإدخال حاوية التخزين أو مسار مستودع R2 الذي تريد استخدامه كموقع خارجي.

    على سبيل المثال: abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> أو r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  7. حدد بيانات اعتماد التخزين التي تمنح الوصول إلى الموقع الخارجي.

  8. (اختياري) إذا كنت تريد تمكين المستخدمين من الوصول للقراءة فقط إلى الموقع الخارجي، فانقر فوق خيارات متقدمة وحدد قراءة فقط. لمزيد من المعلومات، راجع وضع علامة على موقع خارجي للقراءة فقط.

  9. انقر فوق Create.

  10. (اختياري) ربط الموقع الخارجي بمساحات عمل معينة.

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

  11. منح الإذن لاستخدام الموقع الخارجي.

    لكي يستخدم أي شخص الموقع الخارجي، يجب منح الأذونات:

    • لاستخدام الموقع الخارجي لإضافة موقع تخزين مدار إلى metastore أو الكتالوج أو المخطط، امنح الامتياز CREATE MANAGED LOCATION .
    • لإنشاء جداول أو وحدات تخزين خارجية، امنح CREATE EXTERNAL TABLE أو CREATE EXTERNAL VOLUME.

    لاستخدام مستكشف الكتالوج لمنح الأذونات:

    1. انقر فوق اسم الموقع الخارجي لفتح جزء التفاصيل.
    2. على علامة التبويب أذونات ، انقر فوق منح.
    3. في مربع الحوار منح على <external location> ، حدد المستخدمين أو المجموعات أو كيانات الخدمة في حقل الأساسيات ، وحدد الامتياز الذي تريد منحه.
    4. انقر فوق منح.

إنشاء موقع خارجي باستخدام SQL

لإنشاء موقع خارجي باستخدام SQL، قم بتشغيل الأمر التالي في دفتر ملاحظات أو محرر استعلام SQL. استبدل قيم العنصر النائب.

الأذونات والمتطلبات الأساسية: راجع قبل البدء.

  • <location-name>: اسم للموقع الخارجي. إذا كانت location_name تتضمن أحرفا خاصة، مثل الواصلات (-)، فيجب أن تكون محاطة بخلفيات (` `). راجع الأسماء.

  • <bucket-path>: المسار في مستأجر السحابة الذي يمنح هذا الموقع الخارجي الوصول إليه. على سبيل المثال: abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> أو r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  • <storage-credential-name>: اسم بيانات اعتماد التخزين التي تخول القراءة من حاوية التخزين أو مسار المستودع والكتابة إليها. إذا كان اسم بيانات اعتماد التخزين يتضمن أحرفا خاصة، مثل الواصلات (-)، فيجب أن يكون محاطا بخلفيات (` `).

CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];

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

(اختياري) تعيين موقع خارجي لمساحات عمل معينة

هام

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

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

تتضمن حالات الاستخدام النموذجية لربط موقع خارجي بمساحات عمل معينة ما يلي:

  • التأكد من أن مهندسي البيانات الذين لديهم CREATE EXTERNAL TABLE امتياز على موقع خارجي يحتوي على بيانات الإنتاج يمكنهم إنشاء جداول خارجية على هذا الموقع فقط في مساحة عمل الإنتاج.
  • التأكد من أن مهندسي البيانات الذين لديهم READ FILES امتياز على موقع خارجي يحتوي على بيانات حساسة يمكنهم فقط استخدام مساحات عمل محددة للوصول إلى تلك البيانات.

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

هام

تتم الإشارة إلى روابط مساحة العمل عند النقطة التي يتم فيها ممارسة الامتيازات مقابل الموقع الخارجي. على سبيل المثال، إذا قام مستخدم بإنشاء جدول خارجي عن طريق إصدار العبارة CREATE TABLE myCat.mySch.myTable LOCATION 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' من مساحة العمل، يتم إجراء عمليات التحقق من myWorkspace ربط مساحة العمل التالية بالإضافة إلى فحوصات امتيازات المستخدم العادية:

  • هل يرتبط الموقع الخارجي الذي يغطي 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' ؟myWorkspace
  • هل الكتالوج myCat مرتبط myWorkspace بمستوى Read & Writeالوصول؟

إذا كان الموقع الخارجي غير منضم فيما بعد من myWorkspace، فسيستمر الجدول الخارجي في العمل.

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

ربط موقع خارجي بمساحة عمل واحدة أو أكثر

لتعيين موقع خارجي لمساحات عمل معينة، يمكنك استخدام مستكشف الكتالوج أو Databricks CLI.

الأذونات المطلوبة: مسؤول Metastore أو مالك الموقع الخارجي.

إشعار

يمكن لمسؤولي Metastore رؤية جميع المواقع الخارجية في metastore باستخدام مستكشف الكتالوج - ويمكن لمالكي المواقع الخارجية رؤية جميع المواقع الخارجية التي يمتلكونها في metastore - بغض النظر عما إذا كان الموقع الخارجي معينا لمساحة العمل الحالية. تظهر المواقع الخارجية التي لم يتم تعيينها لمساحة العمل باللون الرمادي.

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

  1. سجل الدخول إلى مساحة عمل مرتبطة ب metastore.

  2. في الشريط الجانبي، انقر فوق أيقونة الكتالوج كتالوج.

  3. في أعلى جزء الكتالوج، انقر فوق أيقونةأيقونة الترس الترس وحدد المواقع الخارجية.

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

  4. حدد الموقع الخارجي وانتقل إلى علامة التبويب مساحات العمل.

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

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

  6. انقر فوق تعيين إلى مساحات العمل وأدخل مساحات العمل التي تريد تعيينها أو ابحث عنها.

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

CLI

هناك مجموعتا أوامر Databricks CLI وخطوتان مطلوبتان لتعيين موقع خارجي لمساحة عمل.

في الأمثلة التالية، استبدل <profile-name> باسم ملف تعريف تكوين مصادقة Azure Databricks. يجب أن يتضمن قيمة الرمز المميز للوصول الشخصي، بالإضافة إلى اسم مثيل مساحة العمل ومعرف مساحة العمل لمساحة العمل حيث قمت بإنشاء رمز الوصول الشخصي المميز. راجع مصادقة الرمز المميز للوصول الشخصي ل Azure Databricks.

  1. external-locations استخدم أمر مجموعة update الأوامر لتعيين الموقع isolation mode الخارجي إلى ISOLATED:

    databricks external-locations update <my-location> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    الإعداد الافتراضي isolation-mode هو OPEN لكافة مساحات العمل المرفقة ب metastore.

  2. workspace-bindings استخدم أمر مجموعة update-bindings الأوامر لتعيين مساحات العمل إلى الموقع الخارجي:

    databricks workspace-bindings update-bindings external-location <my-location> \
    --json '{
      "add": [{"workspace_id": <workspace-id>}...],
      "remove": [{"workspace_id": <workspace-id>}...]
    }' --profile <profile-name>
    

    استخدم الخاصيتين "add" و "remove" لإضافة روابط مساحة العمل أو إزالتها.

    إشعار

    ربط القراءة فقط (BINDING_TYPE_READ_ONLY) غير متوفر للمواقع الخارجية. لذلك لا يوجد سبب لتعيين binding_type ربط المواقع الخارجية.

لسرد كافة تعيينات مساحة العمل لموقع خارجي، استخدم workspace-bindings أمر مجموعة get-bindings الأوامر:

databricks workspace-bindings get-bindings external-location <my-location> \
--profile <profile-name>

راجع أيضا روابط مساحة العمل في مرجع واجهة برمجة تطبيقات REST.

إلغاء ربط موقع خارجي من مساحة عمل

يتم تضمين إرشادات إبطال الوصول إلى مساحة العمل إلى موقع خارجي باستخدام مستكشف الكتالوج workspace-bindings أو مجموعة أوامر CLI في ربط موقع خارجي بمساحة عمل واحدة أو أكثر.

الخطوات التالية