استخدام الأدوات المساعدة UCX لترقية مساحة العمل إلى كتالوج Unity

تقدم هذه المقالة UCX، وهو مشروع Databricks Labs يوفر أدوات لمساعدتك في ترقية مساحة العمل غير Unity-Catalog إلى كتالوج Unity.

إشعار

يتم توفير UCX، مثل جميع المشاريع في حساب GitHub databrickslabs، لاستكشافك فقط، ولا يتم دعمه رسميا من قبل Databricks مع اتفاقيات مستوى الخدمة (SLAs). يتم توفيره كما هو. نحن لا نقدم أي ضمانات من أي نوع. لا ترسل تذكرة دعم Databricks المتعلقة بالمشكلات التي تنشأ عن استخدام هذا المشروع. بدلا من ذلك، قم بتقديم مشكلة GitHub. وستتم مراجعة المشكلات على أنها تسمح بالوقت، ولكن لا توجد اتفاقيات مستوى الخدمة الرسمية للدعم.

يوفر مشروع UCX أدوات الترحيل وسير العمل التالية:

  1. سير عمل التقييم لمساعدتك في تخطيط الترحيل.
  2. سير عمل ترحيل المجموعة لمساعدتك في ترقية عضوية المجموعة من مساحة العمل إلى حساب Databricks وترحيل الأذونات إلى المجموعات الجديدة على مستوى الحساب.
  3. ترحيل الجدول worfklow لمساعدتك على ترقية الجداول المسجلة في Hive metastore الخاص بمساحة العمل الخاصة بك إلى metastore كتالوج Unity. يساعدك سير العمل هذا أيضا على ترحيل مواقع التخزين وبيانات الاعتماد المطلوبة للوصول إليها.

يوضح هذا الرسم التخطيطي تدفق الترحيل الكلي، ويحدد مهام سير عمل الترحيل والأدوات المساعدة بالاسم:

مخطط سير عمل ترحيل UCX

إشعار

يظل سير عمل ترحيل التعليمات البرمجية الذي تم تصويره في الرسم التخطيطي قيد التطوير ولم يتوفر بعد.

قبل البدء

قبل أن تتمكن من تثبيت UCX وتشغيل مهام سير عمل UCX، يجب أن تفي بيئتك بالمتطلبات التالية.

الحزم المثبتة على الكمبيوتر حيث تقوم بتشغيل UCX:

  • Databricks CLI v0.213 أو أعلى. راجع تثبيت Databricks CLI أو تحديثه.

    يجب أن يكون لديك ملف تكوين Databricks مع ملفات تعريف التكوين لكل من مساحة العمل وحساب Databricks.

  • Python 3.10 أو أعلى.

  • إذا كنت ترغب في تشغيل سير عمل UCX الذي يحدد مواقع التخزين المستخدمة بواسطة جداول Apache Hive في مساحة العمل الخاصة بك (موصى به، ولكن ليس مطلوبا)، يجب أن يكون لديك CLI لموفر التخزين السحابي (Azure CLI أو AWS CLI) مثبتا على الكمبيوتر حيث تقوم بتشغيل مهام سير عمل UCX.

الوصول إلى الشبكة:

  • الوصول إلى الشبكة من الكمبيوتر الذي يقوم بتشغيل تثبيت UCX إلى مساحة عمل Azure Databricks التي تقوم بترحيلها.
  • الوصول إلى الشبكة إلى الإنترنت من الكمبيوتر الذي يقوم بتشغيل تثبيت UCX. هذا مطلوب للوصول إلى pypi.org github.com.
  • الوصول إلى الشبكة من مساحة عمل Azure Databricks إلى pypi.org لتنزيل databricks-sdk الحزم و pyyaml .

أدوار وأذونات Databricks:

  • أدوار مسؤول حساب Azure Databricks ومسؤول مساحة العمل للمستخدم الذي يقوم بتشغيل تثبيت UCX. لا يمكنك تشغيل التثبيت ككيان خدمة.

المتطلبات الأساسية الأخرى ل Databricks:

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

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

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

  • إذا كانت مساحة العمل الخاصة بك تستخدم Hive metastore خارجي (مثل AWS Glue) بدلا من مساحة العمل الافتراضية المحلية Hive metastore، فيجب عليك تنفيذ بعض الإعدادات المسبقة. راجع تكامل Hive Metastore الخارجي في مستودع databrickslabs/ucx.

  • مستودع SQL Pro أو Serverless يعمل على مساحة العمل حيث تقوم بتشغيل مهام سير عمل UCX، المطلوبة لعرض التقرير الذي تم إنشاؤه بواسطة سير عمل التقييم.

تثبيت UCX

لتثبيت UCX، استخدم Databricks CLI:

databricks labs install ucx

تتم مطالبتك بتحديد ما يلي:

  1. ملف تعريف تكوين Databricks لمساحة العمل التي تريد ترقيتها. يجب أن يتضمن ملف التكوين أيضا ملف تعريف تكوين لحساب Databricks الأصل لمساحة العمل.

  2. اسم لقاعدة بيانات المخزون التي سيتم استخدامها لتخزين إخراج مهام سير عمل الترحيل. عادة ما يكون من الجيد تحديد الافتراضي، وهو ucx.

  3. مستودع SQL لتشغيل عملية التثبيت عليه.

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

    لديك الفرصة لتعديل تعيين مجموعة مساحة العمل من مجموعة إلى حساب بعد تشغيل المثبت وقبل تشغيل ترحيل المجموعة. راجع حل تعارض اسم المجموعة في مستودع UCX.

  5. إذا كان لديك Hive metastore خارجي، مثل AWS Glue، فلديك خيار الاتصال به أم لا. راجع تكامل Hive Metastore الخارجي في مستودع databrickslabs/ucx.

  6. ما إذا كنت تريد فتح دفتر ملاحظات README الذي تم إنشاؤه.

عند الانتهاء من التثبيت، فإنه ينشر دفتر ملاحظات README ولوحات المعلومات وقواعد البيانات والمكتبات والمهام والأصول الأخرى في مساحة العمل الخاصة بك.

لمزيد من المعلومات، راجع إرشادات التثبيت في readme للمشروع. يمكنك أيضا تثبيت UCX على جميع مساحات العمل في حساب Databricks الخاص بك.

فتح دفتر ملاحظات README

ينشئ كل تثبيت دفتر ملاحظات README يوفر وصفا مفصلا لجميع مهام سير العمل والمهام، مع ارتباطات سريعة إلى مهام سير العمل ولوحات المعلومات. راجع دفتر ملاحظات Readme.

الخطوة 1. تشغيل سير عمل التقييم

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

يتم تخزين إخراج كل مهمة سير عمل في جداول Delta في $inventory_database المخطط الذي تحدده أثناء التثبيت. يمكنك استخدام هذه الجداول لإجراء مزيد من التحليل واتخاذ القرارات باستخدام تقرير تقييم. يمكنك تشغيل سير عمل التقييم عدة مرات للتأكد من تحديد جميع الكيانات غير المتوافقة ومحاسبتها قبل بدء عملية الترحيل.

يمكنك تشغيل سير عمل التقييم من دفتر ملاحظات README الذي تم إنشاؤه بواسطة UCX وواجهة مستخدم Azure Databricks (مهام سير العمل >> [UCX] Assessment)، أو تشغيل أمر Databricks CLI التالي:

databricks labs ucx ensure-assessment-run

للحصول على إرشادات مفصلة، راجع سير عمل التقييم.

الخطوة 2. تشغيل سير عمل ترحيل المجموعة

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

يتم تخزين إخراج كل مهمة سير عمل في جداول Delta في $inventory_database المخطط الذي تحدده أثناء التثبيت. يمكنك استخدام هذه الجداول لإجراء مزيد من التحليل واتخاذ القرار. يمكنك تشغيل سير عمل ترحيل المجموعة عدة مرات للتأكد من ترقية جميع المجموعات بنجاح وتعيين جميع الأذونات الضرورية.

للحصول على معلومات حول تشغيل سير عمل ترحيل المجموعة، راجع دفتر ملاحظات README الذي تم إنشاؤه بواسطة UCX وسير عمل ترحيل المجموعة في UCX readme.

الخطوة 3. تشغيل سير عمل ترحيل الجدول

يقوم سير عمل ترحيل الجدول بترقية الجداول من Hive metastore إلى مخزن بيانات تعريف كتالوج Unity. تتم ترقية الجداول الخارجية في Hive metastore كجداول خارجية في كتالوج Unity، باستخدام SYNC. تتم ترقية الجداول المدارة في Hive metastore المخزنة في تخزين مساحة العمل (المعروفة أيضا باسم جذر DBFS) كجداول مدارة في كتالوج Unity، باستخدام DEEP CLONE.

يجب أن تكون الجداول المدارة من Apache Hive بتنسيق Delta أو Parquet ليتم ترقيتها. يجب أن تكون جداول Hive الخارجية بأحد تنسيقات البيانات المدرجة في الجداول الخارجية.

تشغيل الأوامر التحضيرية

يتضمن ترحيل الجدول عددا من المهام التحضيرية التي تقوم بتشغيلها قبل تشغيل سير عمل ترحيل الجدول. يمكنك تنفيذ هذه المهام باستخدام أوامر Databricks CLI التالية:

  • create-table-mapping الأمر ، الذي ينشئ ملف CSV يقوم بتعيين كتالوج ومخطط وجدول كتالوج Unity مستهدف لكل جدول Hive ستتم ترقيته. يجب مراجعة ملف التعيين وتحديثه قبل المتابعة مع سير عمل الترحيل.
  • create-uber-principal الأمر ، الذي ينشئ كيان خدمة مع حق الوصول للقراءة فقط إلى جميع التخزين المستخدمة من قبل الجداول في مساحة العمل هذه. يستخدم مورد حساب مهمة سير العمل هذا الأساسي لترقية الجداول في مساحة العمل. قم بإلغاء توفير كيان الخدمة هذا عند الانتهاء من الترقية.
  • (اختياري) principal-prefix-access الأمر ، الذي يحدد حسابات التخزين وبيانات اعتماد الوصول إلى التخزين المستخدمة بواسطة جداول Hive في مساحة العمل.
  • (اختياري) migrate-credentials الأمر ، الذي ينشئ بيانات اعتماد تخزين كتالوج Unity من بيانات اعتماد الوصول إلى التخزين المحددة بواسطة principal-prefix-access.
  • (اختياري) migration locations الأمر ، الذي ينشئ مواقع خارجية كتالوج Unity من مواقع التخزين المحددة بواسطة سير عمل التقييم، باستخدام بيانات اعتماد التخزين التي تم إنشاؤها بواسطة migrate-credentials.
  • (اختياري) create-catalogs-schemasالأمر الذي ينشئ كتالوجات ومخططات كتالوج Unity التي ستحتفظ بالجداول التي تمت ترقيتها.

للحصول على التفاصيل، بما في ذلك أوامر وخيارات سير عمل ترحيل الجدول الإضافية، راجع أوامر ترحيل الجدول في UCX readme.

تشغيل ترحيل الجدول

بمجرد تشغيل المهام التحضيرية، يمكنك تشغيل سير عمل ترحيل الجدول من دفتر ملاحظات README الذي تم إنشاؤه بواسطة UCX أو من مهام سير العمل > في واجهة مستخدم مساحة العمل.

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

للحصول على إرشادات ترحيل الجدول الكاملة، راجع دفتر ملاحظات README الذي تم إنشاؤه بواسطة UCX وسير عمل ترحيل الجدول في UCX readme.

الأدوات الإضافية

يتضمن UCX أيضا أدوات تصحيح الأخطاء والأدوات المساعدة الأخرى لمساعدتك على النجاح في الترحيل. لمزيد من المعلومات، راجع دفتر ملاحظات README الذي تم إنشاؤه بواسطة UCX ومشروع UCX readme.

ترقية تثبيت UCX

يتم تحديث مشروع UCX بانتظام. لترقية تثبيت UCX إلى أحدث إصدار:

  1. تحقق من تثبيت UCX.

    databricks labs installed
    
    Name  Description                            Version
    ucx   Unity Catalog Migration Toolkit (UCX)  0.20.0
    
  2. تشغيل الترقية:

    databricks labs upgrade ucx
    

الحصول على المساعدة

للحصول على تعليمات حول UCX CLI، قم بتشغيل:

databricks labs ucx --help

للحصول على تعليمات حول أمر UCX معين، قم بتشغيل:

databricks labs ucx <command> --help

لاستكشاف المشكلات وإصلاحها:

لتقديم مشكلة أو طلب ميزة، قم بتقديم مشكلة GitHub.

ملاحظات إصدار UCX

راجع سجل التغيير في مستودع UCX GitHub.