ترقية جداول Hive وطرق العرض إلى كتالوج Unity

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

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

    توجد الجداول المدارة في موقع تخزين مدار تحتفظ به لكتالوج Unity. وبسبب متطلبات التخزين هذه، يجب استخدام CLONE أو CREATE TABLE AS SELECT (CTAS) إذا كنت تريد نسخ جداول Hive الموجودة إلى كتالوج Unity كجداول مدارة.

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

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

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

خيارات ترحيل Hive إلى كتالوج Unity

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

أداة الترحيل ‏‏الوصف متطلبات جدول Hive تم إنشاء جدول كتالوج Unity لماذا يجب أن أستخدمه؟
UCX مجموعة شاملة من أدوات سطر الأوامر والأدوات الأخرى التي تقيم استعداد مساحة العمل لترحيل كتالوج Unity وتنفذ مهام سير العمل التي تقوم بترحيل الهويات والأذونات ومواقع التخزين والجداول إلى كتالوج Unity. تتوفر UCX على GitHub في databrickslabs/ucx. جداول Hive المدارة أو الخارجية مدار أو خارجي تريد أداة تخطيط شاملة لترقية مساحة العمل تتجاوز ترقية جداول Hive إلى كتالوج Unity. تريد ترقية مساحات العمل التي تحتوي على كميات كبيرة من البيانات في Hive metastore. أنت مرتاح لتشغيل البرامج النصية. إذا كنت ترغب في إجراء ترقية مجمعة لجداول Hive إلى الجداول المدارة في كتالوج Unity، فهذا هو الخيار الوحيد. UCX، مثل جميع مشاريع Databricks Labs، هو مستودع GitHub عام ولا يدعمه Databricks مباشرة.
معالج ترقية كتالوج Unity ميزة مستكشف الكتالوج التي تمكنك من النسخ المجمع للمخططات بأكملها (قواعد البيانات) وجداول مدارة وخارجية متعددة من Hive metastore إلى مخزن بيانات تعريف كتالوج Unity كجداول خارجية. يقوم معالج الترقية بتنفيذ الأمر على SYNC الجداول التي تحددها، تاركا جداول Hive الأصلية سليمة. لديك خيار جدولة الترقيات العادية من أجل التقاط التغييرات على جداول Hive المصدر. جداول Hive المدارة أو الخارجية خارجي فقط تريد ترقية جداول Hive بسرعة إلى جداول خارجية في كتالوج Unity، وتفضل واجهة مرئية. القدرة على جدولة المزامنة المنتظمة عندما يغير جدول Hive المصدر أداة مفيدة لإدارة مساحة عمل Hive وUnity Catalog "مختلطة" أثناء الانتقال إلى كتالوج Unity.
أمر SYNC SQL SYNC يمكنك من نسخ الجداول الخارجية والجداول المدارة (إذا تم تخزين الجداول المدارة خارج تخزين مساحة عمل Databricks، والمعروفة أحيانا باسم جذر DBFS) في مخزن بيانات الخلية إلى جداول خارجية في كتالوج Unity. يمكنك مزامنة الجداول الفردية أو المخططات بأكملها.

SYNC تم تصميمه ليتم تشغيله على جدول زمني لالتقاط تغييرات جديدة في Hive metastore ومزامنتها إلى كتالوج Unity.
جداول Hive المدارة أو الخارجية خارجي فقط تريد ترقية جداول Hive بسرعة إلى جداول خارجية في كتالوج Unity، وتفضل استخدام أوامر SQL بدلا من واجهة مرئية.

جدولة عمليات تشغيل منتظمة SYNC لتحديث جداول كتالوج Unity الحالية عندما تغير جدول Hive المصدر يجعلها أداة مفيدة لإدارة مساحة عمل Hive وUnity Catalog "مختلطة" أثناء الانتقال إلى كتالوج Unity.

نظرا لأنه لا يمكنك استخدام SYNC لترقية الجداول المدارة الموجودة في تخزين مساحة عمل Databricks، استخدم CREATE TABLE CLONE لهذه الجداول.
الأمر CREATE TABLE CLONE SQL CREATE TABLE CLONE يمكنك من ترقية الجداول المدارة في Hive metastore إلى الجداول المدارة في كتالوج Unity. يمكنك استنساخ جداول فردية.

يفضل النسخ العميقة، لأنها تنسخ بيانات الجدول المصدر إلى هدف النسخ بالإضافة إلى بيانات تعريف الجدول الموجودة.
جداول Hive المدارة بتنسيق Delta أو Parquet أو Iceberg. يحتوي استنساخ جداول مصدر Parquet و Iceberg على بعض المتطلبات والقيود المحددة: راجع المتطلبات والقيود الخاصة بنسخ جداول Parquet و Iceberg. مدار فقط تريد ترحيل الجداول المدارة ل Apache Hive إلى الجداول المدارة في كتالوج Unity للاستفادة الكاملة من إدارة بيانات كتالوج Unity، وتلبي جداول Hive المعايير المدرجة في الخلية "متطلبات جدول Hive".

إذا كانت جداول Hive لا تفي ب "متطلبات جدول Hive"، يمكنك استخدام الأمر CREATE TABLE AS SELECT SQL لترقية جدول Hive إلى جدول مدار في كتالوج Unity. ومع ذلك CLONE يفضل دائما تقريبا. يحتوي الاستنساخ على بناء جملة أبسط من CREATE TABLE AS SELECT: لا تحتاج إلى تحديد التقسيم والتنسيق والمتباينات وقابلية القيم الخالية والدفق COPY INTOوبيانات التعريف الأخرى، لأنه يتم استنساخها من الجدول المصدر.

توضح هذه المقالة كيفية تنفيذ كل ما عدا عملية الترقية المستندة إلى UCX. توصي Databricks ب UCX لمعظم سيناريوهات ترقية مساحة العمل. ومع ذلك، بالنسبة لحالات الاستخدام الأبسط، قد تفضل واحدة أو أكثر من الأدوات الموضحة هنا.

قبل البدء

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

فهم التأثير

يجب أن تدرك أنه عند تعديل أحمال العمل لاستخدام جداول كتالوج Unity الجديدة، قد تحتاج إلى تغيير بعض السلوكيات:

  • يدير كتالوج Unity الأقسام بشكل مختلف عن Apache Hive. أوامر Apache Hive التي تعالج الأقسام مباشرة غير مدعومة على الجداول التي يديرها كتالوج Unity.
  • لا يتم ترحيل محفوظات الجدول عند تشغيل CREATE TABLE CLONE. يتم التعامل مع أي جداول في Hive metastore التي تقوم باستنساخها إلى كتالوج Unity كجداول جديدة. لا يمكنك إجراء السفر عبر الوقت في Delta Lake أو عمليات أخرى تعتمد على محفوظات ما قبل الترحيل.

لمزيد من المعلومات، راجع العمل مع كتالوج Unity و Hive metastore القديم.

المتطلبات

لإجراء عمليات الترحيل، يجب أن يكون لديك:

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

  • الامتيازات على كتالوجات كتالوج Unity التي تقوم بترحيل الجداول إليها. يتم تعداد متطلبات الامتياز هذه في بداية كل إجراء مشمول في هذه المقالة.

  • للترحيل إلى جداول Unity الخارجية: بيانات اعتماد التخزين والمواقع الخارجية المحددة في كتالوج Unity، والامتياز CREATE EXTERNAL TABLE على الموقع الخارجي.

  • الوصول إلى حساب Azure Databricks الذي يفي بكل من المتطلبات التالية:

    • يدعم كتالوج Unity (مستودعات SQL أو موارد الحوسبة التي تستخدم مستخدما واحدا أو وضع الوصول المشترك).
    • يسمح بالوصول إلى الجداول في Hive metastore.

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

    GRANT all_privileges ON catalog hive_metastore TO `<user>`
    

    بدلا من ذلك، يمكنك استخدام مورد حساب في وضع وصول مستخدم واحد.

لمزيد من المعلومات حول إدارة الامتيازات على العناصر في Hive metastore، راجع امتيازات Hive metastore والعناصر القابلة للتأمين (القديمة) . لمزيد من المعلومات حول إدارة الامتيازات على الكائنات في مخزن بيانات تعريف كتالوج Unity، راجع إدارة الامتيازات في كتالوج Unity.

تحديد الجداول التي تتم إدارتها بواسطة Hive metastore

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

لعرض الجداول في الكتالوج باستخدام مستكشف الكتالوج hive_metastore :

  1. انقر فوق أيقونة الكتالوجكتالوج في الشريط الجانبي.
  2. في جزء الكتالوج، استعرض للوصول إلى الكتالوج hive_metastore وقم بتوسيع عقد المخطط.

يمكنك أيضا البحث عن جدول معين باستخدام حقل عامل التصفية في جزء الكتالوج.

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

يمكنك نسخ المخططات الكاملة (قواعد البيانات) وجداول خارجية أو مدارة متعددة من Azure Databricks metastore الافتراضي Hive إلى مخزن بيانات تعريف كتالوج Unity باستخدام معالج ترقية مستكشف الكتالوج. ستكون الجداول التي تمت ترقيتها جداول خارجية في كتالوج Unity.

للمساعدة في تحديد وقت استخدام معالج الترقية، راجع خيارات ترحيل Hive إلى كتالوج Unity.

المتطلبات

متطلبات تنسيق البيانات:

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

عنصر كتالوج Unity ومتطلبات الإذن:

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

متطلبات الوصول إلى جدول Hive:

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

عملية الترقية

  1. انقر فوق أيقونة الكتالوجكتالوج في الشريط الجانبي لفتح مستكشف الكتالوج.

  2. حدد hive_metastore ككتالوج وحدد المخطط (قاعدة البيانات) الذي تريد ترقيته.

    تحديد قاعدة البيانات

  3. انقر فوق ترقية في الجزء العلوي الأيسر من طريقة عرض تفاصيل المخطط.

  4. حدد كل الجداول التي تريد ترقيتها وانقر فوق التالي.

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

  5. تعيين كتالوج الوجهة والمخطط (قاعدة البيانات) والمالك لكل جدول.

    سيتمكن المستخدمون من الوصول إلى الجدول الذي تم إنشاؤه حديثا في سياق امتيازاتهم على الكتالوج والمخطط.

    يتمتع مالكو الجداول بجميع الامتيازات الموجودة على الجدول، بما في ذلك SELECT و MODIFY. إذا لم تحدد مالكا، يتم إنشاء الجداول المدارة معك كمالك. توصي Databricks عموما بمنح ملكية الجدول للمجموعات. لمعرفة المزيد حول ملكية العنصر في كتالوج Unity، راجع إدارة ملكية كائن كتالوج Unity.

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

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

  6. راجع تكوينات الجدول. لتعديلها، انقر فوق الزر السابق .

  7. انقر فوق إنشاء استعلام للترقية.

    يظهر محرر استعلام مع عبارات SQL التي تم إنشاؤها.

  8. تشغيل الاستعلام.

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

  9. حدد التحكم في الوصول الدقيق باستخدام علامة التبويب أذونات لكل جدول جديد.

  10. (اختياري) أضف تعليقات إلى كل جدول Hive تمت ترقيته يشير المستخدمين إلى جدول كتالوج Unity الجديد.

    ارجع إلى الجدول الأصلي في الكتالوج hive.metastore لإضافة تعليق الجدول.

    إذا كنت تستخدم بناء الجملة التالي في تعليق الجدول، فإن دفاتر الملاحظات واستعلامات محرر استعلام SQL التي تشير إلى جدول Apache Hive المهملة ستعرض اسم الجدول المهمل باستخدام نص يتوسطه خط وعرض التعليق كتحذير وتوفير ارتباط Quick Fix إلى Databricks Assistant، والذي يمكنه تحديث التعليمات البرمجية للإشارة إلى الجدول الجديد.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    راجع إضافة تعليقات للإشارة إلى أنه تم ترحيل جدول Hive.

  11. تعديل أحمال العمل لاستخدام الجداول الجديدة.

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

ترقية جدول Apache Hive واحد إلى جدول خارجي في كتالوج Unity باستخدام معالج الترقية

يمكنك نسخ جدول واحد من Hive metastore الافتراضي إلى مخزن بيانات تعريف كتالوج Unity باستخدام معالج الترقية في مستكشف الكتالوج

للمساعدة في تحديد وقت استخدام معالج الترقية، راجع خيارات ترحيل Hive إلى كتالوج Unity.

المتطلبات

متطلبات تنسيق البيانات:

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

عنصر كتالوج Unity ومتطلبات الإذن:

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

عملية الترقية

لترقية جدول خارجي:

  1. انقر فوق أيقونة الكتالوجكتالوج في الشريط الجانبي لفتح مستكشف الكتالوج.

  2. حدد قاعدة البيانات، ثم الجدول الذي تريد ترقيته.

  3. انقر فوق ترقية في الزاوية العلوية اليسرى من طريقة عرض تفاصيل الجدول.

  4. حدد الجدول للترقية وانقر فوق التالي.

  5. حدد كتالوج الوجهة والمخطط (قاعدة البيانات) والمالك.

    سيتمكن المستخدمون من الوصول إلى الجدول الذي تم إنشاؤه حديثا في سياق امتيازاتهم على الكتالوج والمخطط.

    يتمتع مالكو الجداول بجميع الامتيازات الموجودة على الجدول، بما في ذلك SELECT و MODIFY. إذا لم تحدد مالكا، يتم إنشاء الجدول المدار معك كمالك. توصي Databricks عموما بمنح ملكية الجدول للمجموعات. لمعرفة المزيد حول ملكية العنصر في كتالوج Unity، راجع إدارة ملكية كائن كتالوج Unity.

  6. انقر فوق ترقية في الزاوية العلوية اليسرى من طريقة عرض تفاصيل الجدول.

  7. حدد الجدول للترقية وانقر فوق التالي.

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

  8. استخدم علامة التبويب أذونات لتعريف التحكم في الوصول الدقيق.

  9. (اختياري) أضف تعليقا إلى جدول Hive الذي يشير المستخدمين إلى جدول كتالوج Unity الجديد.

    ارجع إلى الجدول الأصلي في الكتالوج hive.metastore لإضافة تعليق الجدول.

    إذا كنت تستخدم بناء الجملة التالي في تعليق الجدول، فإن دفاتر الملاحظات واستعلامات محرر استعلام SQL التي تشير إلى جدول Apache Hive المهملة ستعرض اسم الجدول المهمل باستخدام نص يتوسطه خط وعرض التعليق كتحذير وتوفير ارتباط Quick Fix إلى Databricks Assistant، والذي يمكنه تحديث التعليمات البرمجية للإشارة إلى الجدول الجديد.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    راجع إضافة تعليقات للإشارة إلى أنه تم ترحيل جدول Hive.

  10. تعديل أحمال العمل الموجودة لاستخدام الجدول الجديد.

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

    إشعار

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

ترقية جدول Hive إلى جدول خارجي في كتالوج Unity باستخدام SYNC

يمكنك استخدام SYNC الأمر SQL لنسخ الجداول الخارجية في Hive metastore إلى جداول خارجية في كتالوج Unity. يمكنك مزامنة الجداول الفردية أو المخططات بأكملها.

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

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

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

للحصول على التفاصيل، راجع SYNC. للمساعدة في تحديد وقت استخدام معالج الترقية، راجع خيارات ترحيل Hive إلى كتالوج Unity.

المتطلبات

متطلبات تنسيق البيانات:

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

عنصر كتالوج Unity ومتطلبات الإذن:

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

متطلبات الوصول إلى جدول Hive:

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

عملية الترقية

لترقية الجداول في Hive metastore إلى جداول Unity الخارجية باستخدام SYNC:

  1. في دفتر ملاحظات أو محرر استعلام SQL، قم بتشغيل أحد الإجراءات التالية:

    مزامنة جدول Hive خارجي:

    SYNC TABLE <uc-catalog>.<uc-schema>.<new-table> FROM hive_metastore.<source-schema>.<source-table>
    SET OWNER <principal>;
    

    مزامنة مخطط Hive خارجي وكافة جداوله:

    SYNC SCHEMA <uc-catalog>.<new-schema> FROM hive_metastore.<source-schema>
    SET OWNER <principal>;
    

    مزامنة جدول Hive مدار مخزن خارج تخزين مساحة عمل Databricks:

    SYNC TABLE <uc-catalog>.<uc-schema>.<new-table> AS EXTERNAL FROM hive_metastore.<source-schema>.<source-table>
    SET OWNER <principal>;
    

    مزامنة مخطط يحتوي على جداول Apache Hive المدارة المخزنة خارج تخزين مساحة عمل Databricks:

    SYNC SCHEMA <uc-catalog>.<new-schema> AS EXTERNAL FROM hive_metastore.<source-schema>
    SET OWNER <principal>;
    
  2. منح المستخدمين أو المجموعات على مستوى الحساب حق الوصول إلى الجدول الجديد. راجع إدارة الامتيازات في كتالوج Unity.

  3. (اختياري) أضف تعليقا إلى جدول Hive الأصلي الذي يشير المستخدمين إلى جدول كتالوج Unity الجديد.

    ارجع إلى الجدول الأصلي في الكتالوج hive.metastore لإضافة تعليق الجدول. لمعرفة كيفية إضافة تعليقات الجدول باستخدام مستكشف الكتالوج، راجع إضافة تعليقات markdown إلى كائنات البيانات باستخدام مستكشف الكتالوج. لمعرفة كيفية إضافة تعليقات الجدول باستخدام عبارات SQL في دفتر ملاحظات أو محرر استعلام SQL، راجع التعليق على.

    إذا كنت تستخدم بناء الجملة التالي في تعليق الجدول، فإن دفاتر الملاحظات واستعلامات محرر استعلام SQL التي تشير إلى جدول Apache Hive المهملة ستعرض اسم الجدول المهمل باستخدام نص يتوسطه خط وعرض التعليق كتحذير وتوفير ارتباط Quick Fix إلى Databricks Assistant، والذي يمكنه تحديث التعليمات البرمجية للإشارة إلى الجدول الجديد.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    راجع إضافة تعليقات للإشارة إلى أنه تم ترحيل جدول Hive.

  4. بعد ترحيل الجدول، يجب على المستخدمين تحديث الاستعلامات وأحمال العمل الموجودة لديهم لاستخدام الجدول الجديد.

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

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

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

ترقية جدول مدار من Apache Hive إلى جدول مدار بواسطة كتالوج Unity باستخدام CLONE

استخدم CREATE TABLE CLONE لترقية الجداول المدارة في Hive metastore إلى الجداول المدارة في كتالوج Unity. يمكنك استنساخ جداول فردية. النسخ العميقة نسخ بيانات الجدول المصدر إلى هدف النسخ بالإضافة إلى بيانات تعريف الجدول الموجودة. استخدم النسخ العميق إذا كنت تنوي إسقاط جدول مصدر Hive. لا تنسخ النسخ الضحلة ملفات البيانات إلى هدف النسخ ولكنها تمنح حق الوصول إليها بالرجوع إلى البيانات المصدر: بيانات تعريف الجدول تعادل المصدر. النسخ الضحلة أرخص في الإنشاء ولكنها تتطلب أن المستخدمين الذين يقومون بالاستعلام عن البيانات في هدف النسخ لديهم أيضا حق الوصول إلى البيانات المصدر.

للمساعدة في تحديد وقت استخدام CLONE، راجع خيارات ترحيل Hive إلى كتالوج Unity. للمساعدة في تحديد نوع الاستنساخ الذي يجب استخدامه، راجع استنساخ جدول على Azure Databricks.

المتطلبات

متطلبات تنسيق البيانات:

  • جداول Hive المدارة بتنسيق Delta أو Parquet أو Iceberg. يحتوي استنساخ جداول مصدر Parquet و Iceberg على بعض المتطلبات والقيود المحددة. راجع متطلبات وقيود استنساخ جداول Parquet و Iceberg.

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

متطلبات الإذن:

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

عملية الترقية

لترقية الجداول المدارة في Hive metastore إلى الجداول المدارة في كتالوج Unity:

  1. في دفتر ملاحظات أو محرر استعلام SQL، قم بتشغيل أحد الإجراءات التالية:

    استنساخ عميق لجدول مدار في Hive metastore:

    CREATE OR REPLACE TABLE <uc-catalog>.<uc-schema>.<new-table>
    DEEP CLONE hive_metastore.<source-schema>.<source-table>;
    

    استنساخ سطحي لجدول مدار في Hive metastore:

    CREATE OR REPLACE TABLE <uc-catalog>.<uc-schema>.<new-table>
    SHALLOW CLONE hive_metastore.<source-schema>.<source-table>;
    

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

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

  3. (اختياري) أضف تعليقا إلى جدول Hive الأصلي الذي يشير المستخدمين إلى جدول كتالوج Unity الجديد.

    ارجع إلى الجدول الأصلي في الكتالوج hive.metastore لإضافة تعليق الجدول. لمعرفة كيفية إضافة تعليقات الجدول باستخدام مستكشف الكتالوج، راجع إضافة تعليقات markdown إلى كائنات البيانات باستخدام مستكشف الكتالوج. لمعرفة كيفية إضافة تعليقات الجدول باستخدام عبارات SQL في دفتر ملاحظات أو محرر استعلام SQL، راجع التعليق على.

    إذا كنت تستخدم بناء الجملة التالي في تعليق الجدول، فإن دفاتر الملاحظات واستعلامات محرر استعلام SQL التي تشير إلى جدول Apache Hive المهملة ستعرض اسم الجدول المهمل باستخدام نص يتوسطه خط وعرض التعليق كتحذير وتوفير ارتباط Quick Fix إلى Databricks Assistant، والذي يمكنه تحديث التعليمات البرمجية للإشارة إلى الجدول الجديد.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    راجع إضافة تعليقات للإشارة إلى أنه تم ترحيل جدول Hive.

  4. بعد ترحيل الجدول، يجب على المستخدمين تحديث الاستعلامات وأحمال العمل الموجودة لديهم لاستخدام الجدول الجديد.

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

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

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

ترقية جدول Hive إلى جدول مدار في كتالوج Unity باستخدام CREATE TABLE AS SELECT

إذا لم تتمكن من استخدام أو تفضل عدم استخدامه CREATE TABLE CLONE لترحيل جدول في Hive metastore إلى جدول مدار في كتالوج Unity، يمكنك إنشاء جدول مدار جديد في كتالوج Unity عن طريق الاستعلام عن جدول Hive باستخدام CREATE TABLE AS SELECT. للحصول على معلومات حول الاختلافات بين CREATE TABLE CLONE و CREATE TABLE AS SELECT، راجع خيارات ترحيل Hive إلى كتالوج Unity.

المتطلبات

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

متطلبات الإذن:

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

عملية الترقية

لترقية جدول في Hive metastore إلى جدول مدار في كتالوج Unity باستخدام CREATE TABLE AS SELECT:

  1. إنشاء جدول كتالوج Unity جديد عن طريق الاستعلام عن الجدول الموجود. استبدل قيم العنصر النائب:

    • <uc-catalog>: كتالوج كتالوج Unity للجدول الجديد.
    • <uc-schema>: مخطط كتالوج Unity للجدول الجديد.
    • <new-table>: اسم لجدول كتالوج Unity.
    • <source-schema>: مخطط جدول Hive، مثل default.
    • <source-table>: اسم جدول Hive.

    SQL

    CREATE TABLE <uc-catalog>.<new-schema>.<new-table>
    AS SELECT * FROM hive_metastore.<source-schema>.<source-table>;
    

    Python

    df = spark.table("hive_metastore.<source-schema>.<source-table>")
    
    df.write.saveAsTable(
      name = "<uc-catalog>.<uc-schema>.<new-table>"
    )
    

    R

    %r
    library(SparkR)
    
    df = tableToDF("hive_metastore.<source-schema>.<source-table>")
    
    saveAsTable(
      df = df,
      tableName = "<uc-catalog>.<uc-schema>.<new-table>"
    )
    

    Scala

    val df = spark.table("hive_metastore.<source-schema>.<source-table>")
    
    df.write.saveAsTable(
      tableName = "<uc-catalog>.<uc-schema>.<new-table>"
    )
    

    إذا كنت تريد ترحيل بعض الأعمدة أو الصفوف فقط، فعدل العبارة SELECT .

    إشعار

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

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

  3. (اختياري) أضف تعليقا إلى جدول Hive الأصلي الذي يشير المستخدمين إلى جدول كتالوج Unity الجديد.

    ارجع إلى الجدول الأصلي في الكتالوج hive.metastore لإضافة تعليق الجدول. لمعرفة كيفية إضافة تعليقات الجدول باستخدام مستكشف الكتالوج، راجع إضافة تعليقات markdown إلى كائنات البيانات باستخدام مستكشف الكتالوج. لمعرفة كيفية إضافة تعليقات الجدول باستخدام عبارات SQL في دفتر ملاحظات أو محرر استعلام SQL، راجع التعليق على.

    إذا كنت تستخدم بناء الجملة التالي في تعليق الجدول، فإن دفاتر الملاحظات واستعلامات محرر استعلام SQL التي تشير إلى جدول Apache Hive المهملة ستعرض اسم الجدول المهمل باستخدام نص يتوسطه خط وعرض التعليق كتحذير وتوفير ارتباط Quick Fix إلى Databricks Assistant، والذي يمكنه تحديث التعليمات البرمجية للإشارة إلى الجدول الجديد.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    راجع إضافة تعليقات للإشارة إلى أنه تم ترحيل جدول Hive.

  4. بعد ترحيل الجدول، يجب على المستخدمين تحديث الاستعلامات وأحمال العمل الموجودة لديهم لاستخدام الجدول الجديد.

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

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

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

ترقية طريقة عرض إلى كتالوج Unity

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

إضافة تعليقات للإشارة إلى ترحيل جدول Hive

عند إضافة تعليق إلى جدول Hive المهمل الذي يشير المستخدمين إلى جدول كتالوج Unity الجديد، ستعرض دفاتر الملاحظات واستعلامات محرر استعلام SQL التي تشير إلى جدول Hive المهمل اسم الجدول المهمل باستخدام نص يتوسطه خط وعرض التعليق كتحذير وتوفير ارتباط إصلاح سريع إلى Databricks Assistant، والذي يمكنه تحديث التعليمات البرمجية للإشارة إلى الجدول الجديد.

تحذير إيقاف جدول Hive

يجب أن يستخدم تعليقك التنسيق التالي:

This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.

لمعرفة كيفية إضافة تعليقات الجدول باستخدام مستكشف الكتالوج، راجع إضافة تعليقات markdown إلى كائنات البيانات باستخدام مستكشف الكتالوج. لمعرفة كيفية إضافة تعليقات الجدول باستخدام عبارات SQL في دفتر ملاحظات أو محرر استعلام SQL، راجع التعليق على.

استخدام مساعد Databricks لتحديث مرجع جدول مهمل

إذا رأيت نصا يتوسطه خط على اسم جدول في خلية دفتر ملاحظات أو عبارة في محرر استعلام SQL، مرر مؤشر الماوس فوق اسم الجدول للكشف عن إشعار تحذير. إذا وصف إشعار التحذير هذا الجدول على أنه مهمل ويعرض اسم الجدول الجديد، فانقر فوق إصلاح سريع، متبوعا ب "إصلاح الإهمال". يفتح Databricks Assistant، حيث يعرض استبدال اسم الجدول المهمل باسم جدول كتالوج Unity الجديد. اتبع المطالبات لإكمال المهمة.

فيديو يعرض تحديث جدول Hive باستخدام Databricks Assistant

راجع أيضا استخدام مساعد Databricks.