bundle مجموعة الأوامر

إشعار

تنطبق هذه المعلومات على إصدارات Databricks CLI 0.218.0 والإصدارات الأحدث. للعثور على إصدار Databricks CLI الخاص بك، قم بتشغيل databricks -v.

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

هام

لتثبيت Databricks CLI، راجع تثبيت Databricks CLI أو تحديثه. لتكوين المصادقة ل Databricks CLI، راجع المصادقة ل Databricks CLI.

يمكنك تشغيل bundle الأوامر عن طريق إلحاقها ب databricks bundle. لعرض تعليمات الأمر bundle ، قم بتشغيل databricks bundle -h.

إنشاء مجموعة من قالب مشروع

لإنشاء مجموعة أصول Databricks باستخدام قالب Databricks Asset Bundle الافتراضي ل Python، قم بتشغيل bundle init الأمر كما يلي، ثم أجب على المطالبات التي تظهر على الشاشة:

databricks bundle init

لإنشاء مجموعة أصول Databricks باستخدام قالب مجموعة أصول Databricks غير افتراضي، قم بتشغيل bundle init الأمر كما يلي:

databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"

راجع أيضًا:

عرض مخطط تكوين المجموعة

لعرض مخطط تكوين مجموعة أصول Databricks، قم بتشغيل bundle schema الأمر، كما يلي:

databricks bundle schema

لإخراج مخطط تكوين مجموعة أصول Databricks كملف JSON، قم بتشغيل bundle schema الأمر وإعادة توجيه الإخراج إلى ملف JSON. على سبيل المثال، يمكنك إنشاء ملف باسم bundle_config_schema.json داخل الدليل الحالي، كما يلي:

databricks bundle schema > bundle_config_schema.json

التحقق من صحة مجموعة

للتحقق من صحة ملفات تكوين الحزمة من الناحية التركيبية، قم بتشغيل bundle validate الأمر من جذر مشروع المجموعة، كما يلي:

databricks bundle validate

يقوم هذا الأمر بشكل افتراضي بإرجاع ملخص لهوية المجموعة:

Name: MyBundle
Target: dev
Workspace:
  Host: https://my-host.cloud.databricks.com
  User: someone@example.com
  Path: /Users/someone@example.com/.bundle/MyBundle/dev

Validation OK!

إشعار

يقوم bundle validate الأمر إخراج تحذيرات إذا تم تعريف خصائص المورد في ملفات تكوين الحزمة التي لم يتم العثور عليها في مخطط الكائن المقابل.

مزامنة شجرة مجموعة إلى مساحة عمل

bundle sync استخدم الأمر لإجراء مزامنة أحادية الاتجاه لتغييرات ملف المجموعة داخل دليل نظام ملفات محلي، إلى دليل داخل مساحة عمل Azure Databricks بعيدة.

إشعار

bundle sync لا يمكن للأوامر مزامنة تغييرات الملفات من دليل داخل مساحة عمل Azure Databricks بعيدة، مرة أخرى إلى دليل داخل نظام ملفات محلي.

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

إنشاء ملف تكوين مجموعة

يمكنك استخدام bundle generate الأمر لإنشاء تكوين مورد لوظيفة أو مسار موجود بالفعل في مساحة عمل Databricks. ينشئ هذا الأمر ملفا *.yml للمهمة أو البنية الأساسية لبرنامج ربط العمليات التجارية في resources مجلد مشروع الحزمة، كما يقوم بتنزيل أي دفاتر ملاحظات مشار إليها في تكوين المهمة أو المسار. حاليا، يتم دعم المهام ذات مهام دفتر الملاحظات فقط بواسطة هذا الأمر.

هام

bundle generate يتم توفير الأمر كوسيلة ملائمة لإنشاء تكوين المورد تلقائيا. ومع ذلك، عند تضمين هذا التكوين في الحزمة ونشره، فإنه ينشئ موردا جديدا ولا يحدث المورد الموجود ما لم bundle deployment bind يتم استخدامه أولا على المورد.

bundle generate قم بتشغيل الأمر كما يلي:

databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]

على سبيل المثال، ينشئ الأمر التالي ملفا جديدا hello_job.yml في مجلد مشروع الحزمة resources الذي يحتوي على YAML أدناه، وينزل simple_notebook.py إلى src مجلد المشروع.

databricks bundle generate job --existing-job-id 6565621249
# This is the contents of the resulting hello_job.yml file.
resources:
  jobs:
    6565621249:
      name: Hello Job
      format: MULTI_TASK
      tasks:
        - task_key: run_notebook
          existing_cluster_id: 0704-xxxxxx-yyyyyyy
          notebook_task:
            notebook_path: ./src/simple_notebook.py
            source: WORKSPACE
          run_if: ALL_SUCCESS
      max_concurrent_runs: 1

ربط موارد المجموعة

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

تلميح

من الجيد تأكيد مساحة عمل المجموعة قبل تشغيل الربط.

databricks bundle deployment bind [resource-key] [resource-id]

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

databricks bundle deployment bind hello_job 6565621249

استخدم bundle deployment unbind إذا كنت تريد إزالة الارتباط بين المهمة أو البنية الأساسية لبرنامج ربط العمليات التجارية في مجموعة ونظيرتها البعيدة في مساحة عمل.

databricks bundle deployment unbind [resource-key]

نشر مجموعة

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

databricks bundle deploy

لنشر الحزمة إلى هدف معين، قم بتعيين -t الخيار (أو --target) مع اسم الهدف كما هو معلن داخل ملفات تكوين المجموعة. على سبيل المثال، بالنسبة إلى هدف تم الإعلان عنه باسم dev:

databricks bundle deploy -t dev

يمكن نشر مجموعة في مساحات عمل متعددة، مثل مساحات عمل التطوير والتقسيم المرحلي والإنتاج. بشكل أساسي، الخاصية root_path هي ما يحدد الهوية الفريدة للحزمة، والتي يتم تعيينها افتراضيا إلى ~/.bundle/${bundle.name}/${bundle.target}. لذلك بشكل افتراضي، تتكون هوية المجموعة من هوية الموزع واسم المجموعة والاسم الهدف للحزمة. إذا كانت متطابقة عبر حزم مختلفة، فإن نشر هذه الحزم سيتداخل مع بعضها البعض.

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

  • إذا لم يكن مورد في تكوين المجموعة موجودا في مساحة العمل الهدف، يتم إنشاؤه.
  • إذا كان هناك مورد في تكوين المجموعة موجود في مساحة العمل الهدف، يتم تحديثه في مساحة العمل.
  • إذا تمت إزالة مورد من تكوين المجموعة، تتم إزالته من مساحة العمل الهدف إذا تم نشره مسبقا.
  • لا يمكن نسيان اقتران المورد بحزمة إلا إذا قمت بتغيير اسم المجموعة أو هدف المجموعة أو مساحة العمل. يمكنك تشغيل bundle validate لإخراج ملخص يحتوي على هذه القيم.

تشغيل مجموعة

لتشغيل مهمة أو مسار معين، استخدم bundle run الأمر . يجب تحديد مفتاح المورد للوظيفة أو المسار المعلن داخل ملفات تكوين المجموعة. بشكل افتراضي، يتم استخدام البيئة المعلنة داخل ملفات تكوين المجموعة. على سبيل المثال، لتشغيل مهمة hello_job في البيئة الافتراضية، قم بتشغيل الأمر التالي:

databricks bundle run hello_job

لتشغيل مهمة بمفتاح hello_job ضمن سياق هدف معلن باسم dev:

databricks bundle run -t dev hello_job

إذا كنت تريد إجراء تشغيل التحقق من صحة البنية الأساسية لبرنامج ربط العمليات التجارية، فاستخدم --validate-only الخيار، كما هو موضح في المثال التالي:

databricks bundle run --validate-only my_pipeline

لتمرير معلمات المهمة، استخدم --params الخيار متبوعا بأزواج قيم المفاتيح المفصولة بفواصل، حيث يكون المفتاح هو اسم المعلمة. على سبيل المثال، يقوم الأمر التالي بتعيين المعلمة message باسم للوظيفة HelloWorldhello_job:

databricks bundle run --params message=HelloWorld hello_job

إشعار

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

لإلغاء تشغيل مهمة موجودة أو تحديث البنية الأساسية لبرنامج ربط العمليات التجارية وإعادة تشغيلها، استخدم --restart الخيار :

databricks bundle run --restart hello_job

تدمير مجموعة

لحذف المهام والتدفقات والبيانات الاصطناعية التي تم نشرها مسبقا، قم بتشغيل bundle destroy الأمر . يحذف الأمر التالي جميع المهام والمسارات والبيانات الاصطناعية التي تم نشرها مسبقا والتي تم تعريفها في ملفات تكوين المجموعة:

databricks bundle destroy

إشعار

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

بشكل افتراضي، تتم مطالبتك بتأكيد الحذف الدائم للوظائف والمسارات والبيانات الاصطناعية التي تم نشرها مسبقا. لتخطي هذه المطالبات وتنفيذ الحذف الدائم التلقائي، أضف --auto-approve الخيار إلى bundle destroy الأمر .