إنشاء مخزن بيانات تعريف كتالوج Unity

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

هام

بالنسبة لمساحات العمل التي تم تمكينها ل Unity Catalog تلقائيا، فإن الإرشادات الواردة في هذه المقالة غير ضرورية. بدأت Databricks في تمكين مساحات عمل جديدة ل "كتالوج Unity" تلقائيا في 9 نوفمبر 2023، مع متابعة الإطلاق التدريجي عبر الحسابات. يجب اتباع الإرشادات الواردة في هذه المقالة فقط إذا كان لديك مساحة عمل ولم يكن لديك مخزن بيانات تعريف بالفعل في منطقة مساحة العمل الخاصة بك. لتحديد ما إذا كان metastore موجودا بالفعل في منطقتك، راجع التمكين التلقائي للكتالوج Unity.

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

لإنشاء metastore، يمكنك القيام بما يلي:

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

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

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

  3. في Azure Databricks، قم بإنشاء metastore، وإرفاق موقع التخزين، وتعيين مساحات العمل إلى metastore.

إشعار

بالإضافة إلى الأساليب الموضحة في هذه المقالة، يمكنك أيضا إنشاء metastore باستخدام موفر Databricks Terraform، وتحديدا مورد databricks_metastore . لتمكين كتالوج Unity من الوصول إلى metastore، استخدم databricks_metastore_data_access. لربط مساحات العمل بمخزن بيانات التعريف، استخدم databricks_metastore_assignment.

قبل البدء

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

يجب عليك أيضا تأكيد تلبية المتطلبات التالية لجميع خطوات الإعداد:

  • يجب أن تكون مسؤول حساب Azure Databricks.

    يجب أن يكون مسؤول حساب Azure Databricks الأول هو Microsoft Entra ID (المعروف سابقا باسم Azure Active Directory) Global مسؤول istrator في الوقت الذي يسجلون فيه الدخول لأول مرة إلى وحدة تحكم حساب Azure Databricks. عند تسجيل الدخول الأول، يصبح هذا المستخدم مسؤول حساب Azure Databricks ولم يعد بحاجة إلى دور Microsoft Entra ID Global مسؤول istrator للوصول إلى حساب Azure Databricks. يمكن لمسؤول الحساب الأول تعيين المستخدمين في مستأجر معرف Microsoft Entra كمسؤولين حساب إضافيين (الذين يمكنهم بأنفسهم تعيين المزيد من مسؤولي الحساب). لا يتطلب مسؤولو الحساب الإضافيون أدوارا محددة في معرف Microsoft Entra.

  • يجب أن تكون مساحات العمل التي تقوم بإرفاقها ب metastore على خطة Azure Databricks Premium.

  • إذا كنت ترغب في إعداد تخزين جذر على مستوى metastore، يجب أن يكون لديك إذن لإنشاء ما يلي في مستأجر Azure الخاص بك:

الخطوة 1 (اختياري): إنشاء حاوية تخزين للتخزين المدار على مستوى metastore

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

  1. إنشاء حساب تخزين ل Azure Data Lake Storage Gen2.

    سيحتوي حساب التخزين هذا على جداول ووحدات تخزين مدارة في كتالوج Unity. يجب أن يكون هذا حساب Azure Data Lake Storage Gen2 في نفس المنطقة مثل مساحات عمل Azure Databricks. راجع إنشاء حساب تخزين للاستخدام مع Azure Data Lake Storage Gen2.

  2. إنشاء حاوية تخزين تحتفظ بالجداول المدارة وبيانات وحدة التخزين على مستوى metastore.

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

    يمكن تجاوز موقع التخزين الافتراضي على مستوى metastore هذا على مستويات الكتالوج والمخطط. راجع التخزين المدار.

    دون ملاحظة عن ADLSv2 URI للحاوية، وهو بالتنسيق التالي:

    abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
    

    في الخطوات التالية، استبدل <storage-container> ب URI هذا.

الخطوة 2 (اختياري): إنشاء هوية مدارة للوصول إلى موقع التخزين المدار

في هذه الخطوة، وهو مطلوب فقط إذا أكملت الخطوة 1، يمكنك إنشاء موصل الوصول إلى Azure Databricks الذي يحتوي على هوية مدارة ومنحه حق الوصول إلى حاوية التخزين.

اتبع الإرشادات الواردة في استخدام الهويات المدارة من Azure في كتالوج Unity للوصول إلى التخزين.

إشعار

يمكنك استخدام إما هوية مدارة من Azure أو كيان خدمة كهوية تمنح الوصول إلى حاوية تخزين metastore. توصي Databricks بشدة بالهويات المدارة، لأنها لا تتطلب منك الاحتفاظ ببيانات الاعتماد أو تدوير الأسرار، وتسمح لك بالاتصال بحساب Azure Data Lake Storage Gen2 المحمي بجدار حماية التخزين. إذا كنت ترغب في استخدام كيان خدمة، فشاهد إنشاء تخزين مدار لكتالوج Unity باستخدام كيان خدمة (قديم) .

الخطوة 3: إنشاء metastore وإرفاق مساحة عمل

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

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

إذا اخترت إنشاء تخزين على مستوى metastore، فسيستخدم metastore حاوية التخزين والهوية المدارة من Azure التي قمت بإنشائها في الخطوات السابقة.

لإنشاء metastore:

  1. إذا اخترت إنشاء تخزين على مستوى metastore، فتأكد من أن لديك المسار إلى حاوية التخزين ومعرف المورد لموصل الوصول إلى Azure Databricks الذي قمت بإنشائه في المهمة السابقة.

  2. سجل الدخول إلى مساحة العمل كمسؤول حساب.

  3. انقر فوق اسم المستخدم الخاص بك في الشريط العلوي من مساحة عمل Azure Databricks وحدد إدارة الحساب.

  4. سجل الدخول إلى وحدة تحكم حساب Azure Databricks.

  5. انقر فوق أيقونة الكتالوجكتالوج.

  6. انقر فوق Create metastore.

  7. إدخل التالي:

    • اسم metastore.

    • المنطقة التي سيتم نشر metastore فيها.

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

    • (اختياري) مسار ADLS Gen 2: أدخل المسار إلى حاوية التخزين التي ستستخدمها كمخزن جذر لمخزن metastore.

      تتم إضافة البادئة abfss:// تلقائيا.

    • (اختياري) Access الاتصال or ID: أدخل معرف مورد موصل الوصول إلى Azure Databricks بالتنسيق:

      /subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
      
  8. انقر فوق Create.

  9. عند المطالبة، حدد مساحات العمل للارتباط ب metastore.

    للحصول على التفاصيل، راجع تمكين مساحة عمل كتالوج Unity.

  10. نقل دور مسؤول metastore إلى مجموعة.

    المستخدم الذي ينشئ metastore هو مالكه، ويسمى أيضا مسؤول metastore. يمكن لمسؤول metastore إنشاء كائنات ذات مستوى أعلى في metastore مثل الكتالوجات ويمكنه إدارة الوصول إلى الجداول والكائنات الأخرى. توصي Databricks بإعادة تعيين دور مسؤول metastore إلى مجموعة. راجع تعيين مسؤول metastore.

  11. تمكين إدارة Azure Databricks للتحميلات إلى وحدات التخزين المدارة.

    يستخدم Azure Databricks مشاركة الموارد عبر المنشأ (CORS) لتحميل البيانات إلى وحدات التخزين المدارة في كتالوج Unity. راجع تكوين حساب تخزين كتالوج Unity ل CORS.

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

إضافة تخزين مدار إلى metastore موجود

التخزين المدار على مستوى Metastore اختياري، ولا يتم تضمينه للمخازن الوصفية التي تم إنشاؤها تلقائيا. قد تحتاج إلى إضافة تخزين على مستوى metastore إلى metastore الخاص بك إذا كنت تفضل نموذج عزل البيانات الذي يخزن البيانات مركزيا لمساحات عمل متعددة. تحتاج إلى تخزين على مستوى metastore إذا كنت تريد مشاركة دفاتر الملاحظات باستخدام Delta Sharing أو إذا كنت شريكا في Azure Databricks يستخدم مواقع التدريج الشخصية.

راجع أيضا التخزين المدار.

المتطلبات

  • يجب أن يكون لديك مساحة عمل واحدة على الأقل مرفقة بمخزن بيانات تعريف كتالوج Unity.
  • أذونات Azure Databricks المطلوبة:
    • لإنشاء موقع خارجي، يجب أن تكون مسؤول metastore أو مستخدما يتمتع بالامتيازات CREATE EXTERNAL LOCATION و CREATE STORAGE CREDENTIAL .
    • لإضافة موقع التخزين إلى تعريف metastore، يجب أن تكون مسؤول حساب. للحصول على إرشادات حول تمكين دور مسؤول الحساب في حسابك، راجع إنشاء مسؤول حسابك الأول.
  • أذونات مستأجر Azure المطلوبة:
    • إذن لإنشاء حساب تخزين لاستخدامه مع Azure Data Lake Storage Gen2. يجب أن يحتوي حساب التخزين هذا على مساحة اسم هرمية. راجع إنشاء حساب تخزين للاستخدام مع Azure Data Lake Storage Gen2.
    • إذن لإنشاء مورد جديد للاحتفاظ بهوية مدارة يعينها النظام. يتطلب هذا أن تكون مساهما أو مالكا لمجموعة موارد في أي اشتراك في المستأجر.

الخطوة 1: إنشاء موقع التخزين

اتبع الإرشادات الواردة في الخطوة 1 (اختياري): إنشاء حاوية تخزين للتخزين المدار على مستوى metastore والخطوة 2 (اختياري): إنشاء هوية مدارة للوصول إلى موقع التخزين المدار لإنشاء حاوية تخزين في Azure Data Lake Storage Gen2 وموصل الوصول إلى Azure Databricks الذي يحتوي على هوية مدارة لديها حق الوصول إلى حاوية التخزين.

الخطوة 2: إنشاء موقع خارجي في كتالوج Unity

في هذه الخطوة، يمكنك إنشاء موقع خارجي في كتالوج Unity يشير إلى مسار ADLS Gen 2 الذي قمت بإنشائه للتو.

  1. إنشاء بيانات اعتماد تخزين.

    ستمثل بيانات اعتماد التخزين هوية Azure المدارة التي قمت بإنشائها في الخطوة 1: إنشاء موقع التخزين.

    اتبع الإرشادات الواردة في إنشاء بيانات اعتماد تخزين للاتصال ب Azure Data Lake Storage Gen2.

  2. إنشاء موقع خارجي يشير إلى بيانات اعتماد التخزين التي قمت بإنشائها في الخطوة السابقة وحاوية تخزين ADLS Gen 2 التي قمت بإنشائها في الخطوة 1: إنشاء موقع التخزين.

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

  3. امنح نفسك الامتياز CREATE MANAGED STORAGE على الموقع الخارجي.

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

الخطوة 3: إضافة موقع التخزين إلى metastore

بعد إنشاء موقع خارجي يمثل مستودع تخزين metastore، يمكنك إضافته إلى metastore.

  1. بصفتك مسؤول حساب، سجل الدخول إلى وحدة تحكم الحساب.

  2. انقر فوق أيقونة الكتالوجكتالوج.

  3. انقر فوق اسم metastore.

  4. تأكد من أنك مسؤول Metastore.

    إذا لم تكن كذلك، فانقر فوق تحرير وعين نفسك كمسؤول metastore. يمكنك إلغاء تعيين نفسك عند الانتهاء من هذا الإجراء.

  5. على علامة التبويب تكوين ، إلى جانب مسار ADLS Gen 2، انقر فوق تعيين.

  6. في مربع الحوار تعيين جذر metastore، أدخل مسار ADLS Gen 2 الذي استخدمته لإنشاء الموقع الخارجي، وانقر فوق تحديث.

    لا يمكنك تعديل هذا المسار بمجرد تعيينه.

حذف مخزن بيانات التعريف

إذا كنت تغلق حساب Azure Databricks الخاص بك أو كان لديك سبب آخر لحذف الوصول إلى البيانات التي يديرها metastore كتالوج Unity، يمكنك حذف metastore.

تحذير

ستصبح جميع الكائنات التي يديرها metastore غير قابلة للوصول باستخدام مساحات عمل Azure Databricks. لا يمكن التراجع عن هذا الإجراء.

سيتم حذف بيانات الجدول المدار وبيانات التعريف تلقائيا بعد 30 يوما. لا تتأثر بيانات الجدول الخارجي في التخزين السحابي بحذف metastore.

لحذف مخزن بيانات التعريف:

  1. بصفتك مسؤول metastore، سجل الدخول إلى وحدة تحكم الحساب.
  2. انقر فوق أيقونة الكتالوجكتالوج.
  3. انقر فوق اسم metastore.
  4. في علامة التبويب Configuration ، انقر فوق القائمة المكونة من ثلاثة أزرار في أقصى اليمين وحدد Delete.
  5. في مربع حوار التأكيد، أدخل اسم metastore وانقر فوق Delete.