تطوير خطوط أنابيب Delta Live Tables باستخدام حزم أصول Databricks

تمكنك حزم أصول Databricks، المعروفة أيضا ببساطة باسم الحزم، من التحقق برمجيا من صحة موارد Azure Databricks ونشرها وتشغيلها مثل خطوط أنابيب Delta Live Tables. راجع ما هي حزم أصول Databricks؟.

توضح هذه المقالة كيفية إنشاء حزمة لإدارة البنية الأساسية لبرنامج ربط العمليات التجارية برمجيا. راجع ما هي جداول Delta Live؟. يتم إنشاء الحزمة باستخدام قالب الحزمة الافتراضية Databricks Asset Bundles ل Python، والذي يتكون من دفتر ملاحظات مقترن بتعريف البنية الأساسية لبرنامج ربط العمليات التجارية والمهمة لتشغيلها. ثم تحقق من صحة البنية الأساسية لبرنامج ربط العمليات التجارية المنشورة ونشرها وتشغيلها في مساحة عمل Azure Databricks.

تلميح

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

المتطلبات

  • Databricks CLI الإصدار 0.218.0 أو أعلى. للتحقق من الإصدار المثبت من Databricks CLI، قم بتشغيل الأمر databricks -v. لتثبيت Databricks CLI، راجع تثبيت Databricks CLI أو تحديثه.
  • يجب أن تحتوي مساحة العمل البعيدة على ملفات مساحة عمل ممكنة. راجع ما هي ملفات مساحة العمل؟.

(اختياري) تثبيت وحدة Python النمطية لدعم تطوير البنية الأساسية لبرنامج ربط العمليات التجارية المحلية

يوفر Databricks وحدة Python للمساعدة في التطوير المحلي للتعليمات البرمجية لمسار Delta Live Tables من خلال توفير التحقق من بناء الجملة والإكمال التلقائي والتحقق من نوع البيانات أثناء كتابة التعليمات البرمجية في IDE الخاص بك.

تتوفر وحدة Python للتطوير المحلي على PyPi. لتثبيت الوحدة النمطية، راجع كعب Python ل Delta Live Tables.

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

إنشاء الحزمة باستخدام قالب حزمة Azure Databricks الافتراضي ل Python. يتكون هذا القالب من دفتر ملاحظات يعرف مسار Delta Live Tables، والذي يقوم بتصفية البيانات من مجموعة البيانات الأصلية. لمزيد من المعلومات حول قوالب المجموعة، راجع قوالب مشروع مجموعة أصول Databricks.

إذا كنت ترغب في إنشاء حزمة من البداية، فشاهد إنشاء مجموعة يدويا.

الخطوة 1: إعداد المصادقة

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

إشعار

مصادقة U2M مناسبة لتجربة هذه الخطوات في الوقت الفعلي. بالنسبة إلى مهام سير العمل التلقائية بالكامل، توصي Databricks باستخدام مصادقة OAuth من جهاز إلى جهاز (M2M) بدلا من ذلك. راجع إرشادات إعداد مصادقة M2M في المصادقة.

  1. استخدم Databricks CLI لبدء إدارة الرمز المميز OAuth محليا عن طريق تشغيل الأمر التالي لكل مساحة عمل هدف.

    في الأمر التالي، استبدل <workspace-url> بعنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. يطالبك Databricks CLI بحفظ المعلومات التي أدخلتها كملف تعريف تكوين Azure Databricks. اضغط Enter لقبول اسم ملف التعريف المقترح، أو أدخل اسم ملف تعريف جديد أو موجود. تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم بالمعلومات التي أدخلتها. يمكنك استخدام ملفات التعريف لتبديل سياق المصادقة بسرعة عبر مساحات عمل متعددة.

    للحصول على قائمة بأي ملفات تعريف موجودة، في محطة طرفية منفصلة أو موجه أوامر، استخدم Databricks CLI لتشغيل الأمر databricks auth profiles. لعرض الإعدادات الموجودة لملف تعريف معين، قم بتشغيل الأمر databricks auth env --profile <profile-name>.

  3. في مستعرض الويب الخاص بك، أكمل الإرشادات التي تظهر على الشاشة لتسجيل الدخول إلى مساحة عمل Azure Databricks.

  4. لعرض قيمة رمز OAuth المميز الحالي لملف التعريف والطوابع الزمنية لانتهاء الصلاحية القادمة للرمز المميز، قم بتشغيل أحد الأوامر التالية:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    إذا كان لديك ملفات تعريف متعددة بنفس --host القيمة، فقد تحتاج إلى تحديد --host الخيارات و -p معا لمساعدة Databricks CLI في العثور على معلومات الرمز المميز OAuth المتطابقة الصحيحة.

الخطوة 2: إنشاء المجموعة

تهيئة مجموعة باستخدام قالب مشروع مجموعة Python الافتراضي.

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

  2. استخدم Databricks CLI لتشغيل bundle init الأمر:

    databricks bundle init
    
  3. بالنسبة إلى Template to use، اترك القيمة الافتراضية للضغط default-python على Enter.

  4. بالنسبة إلى Unique name for this project، اترك القيمة الافتراضية ل my_project، أو اكتب قيمة مختلفة، ثم اضغط Enterعلى . يحدد هذا اسم الدليل الجذر لهذه الحزمة. يتم إنشاء هذا الدليل الجذر داخل دليل العمل الحالي.

  5. بالنسبة إلى Include a stub (sample) notebook، حدد no واضغط Enterعلى . يؤدي هذا إلى توجيه Databricks CLI إلى عدم إضافة نموذج دفتر ملاحظات في هذه المرحلة، حيث لا يحتوي دفتر الملاحظات النموذجي المقترن بهذا الخيار على تعليمات برمجية ل Delta Live Tables فيه.

  6. بالنسبة إلى Include a stub (sample) DLT pipeline، اترك القيمة الافتراضية للضغط yes على Enter. هذا يوجه Databricks CLI لإضافة نموذج دفتر ملاحظات يحتوي على التعليمات البرمجية Delta Live Tables فيه.

  7. بالنسبة إلى Include a stub (sample) Python package، حدد no واضغط Enterعلى . هذا يوجه Databricks CLI إلى عدم إضافة نموذج ملفات حزمة عجلة Python أو إرشادات البناء ذات الصلة إلى مجموعتك.

الخطوة 3: استكشاف المجموعة

لعرض الملفات التي أنشأها القالب، قم بالتبديل إلى الدليل الجذر للحزمة التي تم إنشاؤها حديثا. تتضمن الملفات ذات الاهتمام الخاص ما يلي:

  • databricks.yml: يحدد هذا الملف الاسم البرمجي للحزمة، ويتضمن مرجعا إلى تعريف البنية الأساسية لبرنامج ربط العمليات التجارية، ويحدد إعدادات حول مساحة العمل الهدف.
  • resources/<project-name>_job.yml و resources/<project-name>_pipeline.yml: تحدد هذه الملفات المهمة التي تحتوي على مهمة تحديث البنية الأساسية لبرنامج ربط العمليات التجارية وإعدادات المسار.
  • src/dlt_pipeline.ipynb: هذا الملف هو دفتر ملاحظات يقوم، عند تشغيله، بتنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية.

لتخصيص المسارات، تتوافق التعيينات داخل إعلان البنية الأساسية لبرنامج ربط العمليات التجارية مع حمولة طلب عملية إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية كما هو محدد في POST /api/2.0/pipelines في مرجع REST API، المعبر عنها بتنسيق YAML.

الخطوة 4: التحقق من صحة ملف تكوين حزمة المشروع

في هذه الخطوة، يمكنك التحقق مما إذا كان تكوين المجموعة صالحا.

  1. من الدليل الجذر، استخدم Databricks CLI لتشغيل bundle validate الأمر، كما يلي:

    databricks bundle validate
    
  2. إذا تم إرجاع ملخص لتكوين المجموعة، فنجح التحقق من الصحة. إذا تم إرجاع أي أخطاء، قم بإصلاح الأخطاء، ثم كرر هذه الخطوة.

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

الخطوة 5: نشر المشروع المحلي إلى مساحة العمل البعيدة

في هذه الخطوة، يمكنك نشر دفتر الملاحظات المحلي إلى مساحة عمل Azure Databricks البعيدة وإنشاء مسار Delta Live Tables داخل مساحة العمل الخاصة بك.

  1. من جذر المجموعة، استخدم Databricks CLI لتشغيل bundle deploy الأمر كما يلي:

    databricks bundle deploy -t dev
    
  2. تحقق مما إذا كان قد تم نشر دفتر الملاحظات المحلي: في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق مساحة العمل.

  3. انقر في مجلد Users ><your-username>> .bundle >><project-name>dev > files > src. يجب أن يكون دفتر الملاحظات في هذا المجلد.

  4. تحقق مما إذا كان قد تم إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية: في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق Delta Live Tables.

  5. في علامة التبويب Delta Live Tables ، انقر فوق [dev <your-username>] <project-name>_pipeline.

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

الخطوة 6: تشغيل المشروع المنشور

في هذه الخطوة، يمكنك تشغيل مسار Delta Live Tables في مساحة العمل الخاصة بك من سطر الأوامر.

  1. من الدليل الجذر، استخدم Databricks CLI لتشغيل bundle run الأمر، كما يلي، استبدال <project-name> باسم مشروعك من الخطوة 2:

    databricks bundle run -t dev <project-name>_pipeline
    
  2. انسخ قيمة Update URL التي تظهر في المحطة الطرفية الخاصة بك والصق هذه القيمة في مستعرض الويب لفتح مساحة عمل Azure Databricks.

  3. في مساحة عمل Azure Databricks، بعد اكتمال المسار بنجاح، انقر فوق طريقة العرض taxi_raw وطريقة العرض المجسدة filtered_taxis لمشاهدة التفاصيل.

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

الخطوة 7: التنظيف

في هذه الخطوة، يمكنك حذف دفتر الملاحظات المنشور والمسار من مساحة العمل الخاصة بك.

  1. من الدليل الجذر، استخدم Databricks CLI لتشغيل bundle destroy الأمر، كما يلي:

    databricks bundle destroy -t dev
    
  2. تأكيد طلب حذف البنية الأساسية لبرنامج ربط العمليات التجارية: عند مطالبتك بتدمير الموارد بشكل دائم، اكتب y واضغط Enterعلى .

  3. تأكيد طلب حذف دفتر الملاحظات: عند مطالبتك بتدمير المجلد المنشور مسبقا وكافة ملفاته بشكل دائم، اكتب y واضغط Enterعلى .

  4. إذا كنت تريد أيضا حذف الحزمة من جهاز التطوير الخاص بك، يمكنك الآن حذف الدليل المحلي من الخطوة 2.

إضافة تعريف مسار موجود إلى مجموعة

يمكنك استخدام تعريف مسار Delta Live Tables الموجود كأساس لتعريف مسار جديد في ملف تكوين مجموعة. للحصول على تعريف مسار موجود، يمكنك استرداده يدويا باستخدام واجهة المستخدم، أو يمكنك إنشاؤه برمجيا باستخدام Databricks CLI.

الحصول على تعريف مسار موجود باستخدام واجهة المستخدم

للحصول على تمثيل YAML لتعريف مسار موجود من واجهة مستخدم مساحة عمل Azure Databricks:

  1. في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق مهام سير العمل.

  2. في علامة التبويب Delta Live Tables، انقر فوق ارتباط Name الخاص بالبنية الأساسية لبرنامج ربط العمليات التجارية.

  3. بجانب زر Development ، انقر فوق kebab، ثم انقر فوق View settings YAML.

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

  5. أضف YAML الذي نسخته إلى ملف الحزمة databricks.yml الخاصة بك، أو أنشئ ملف تكوين للبنية الأساسية لبرنامج ربط العمليات التجارية في resources مجلد مشروع الحزمة الخاص بك وقم بالإشارة إليه من ملفك databricks.yml . راجع الموارد.

  6. قم بتنزيل وإضافة أي ملفات ودفاتر ملاحظات Python المشار إليها إلى مصدر مشروع المجموعة. عادة ما تكون بيانات المجموعة الاصطناعية src في الدليل في مجموعة.

    تلميح

    يمكنك تصدير دفتر ملاحظات موجود من مساحة عمل Azure Databricks إلى .ipynb التنسيق بالنقر فوق File > Export > IPython Notebook من واجهة مستخدم دفتر ملاحظات Azure Databricks.

    بعد إضافة دفاتر الملاحظات وملفات Python والبيانات الاصطناعية الأخرى إلى المجموعة، تأكد من أن تعريف البنية الأساسية لبرنامج ربط العمليات التجارية يشير إليها بشكل صحيح. على سبيل المثال، لدفتر ملاحظات باسم hello.ipynb موجود في src/ دليل الحزمة:

    resources:
      pipelines:
        hello-pipeline:
          name: hello-pipeline
          libraries:
            - notebook:
                path: ../src/hello.ipynb
    

إنشاء تعريف مسار موجود باستخدام Databricks CLI

لإنشاء تكوين حزمة برمجيا لمسار موجود:

  1. استرجع معرف البنية الأساسية لبرنامج ربط العمليات التجارية الموجودة من اللوحة الجانبية تفاصيل المسار للبنية الأساسية لبرنامج ربط العمليات التجارية في واجهة المستخدم، أو استخدم الأمر Databricks CLI databricks pipelines list-pipelines .

  2. bundle generate pipeline قم بتشغيل الأمر Databricks CLI، مع تعيين معرف البنية الأساسية لبرنامج ربط العمليات التجارية:

    databricks bundle generate pipeline --existing-pipeline-id 6565621249
    

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

    تلميح

    إذا كنت تستخدم bundle deployment bind أولا لربط مورد في حزمة واحدة في مساحة العمل، يتم تحديث المورد في مساحة العمل استنادا إلى التكوين المحدد في المجموعة التي يرتبط بها بعد التالي bundle deploy. للحصول على معلومات حول bundle deployment bind، راجع ربط موارد المجموعة.