مشاركة عبر


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

إشعار

تنطبق هذه المعلومات على إصدارات Databricks CLI 0.205 والإصدارات الأحدث. Databricks CLI في المعاينة العامة.

يخضع استخدام Databricks CLI لترخيص Databricks وإشعار خصوصية Databricks، بما في ذلك أي أحكام لبيانات الاستخدام.

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

يمكنك تشغيل 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>"

راجع أيضًا:

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

لعرض مخطط تكوين المجموعة، قم بتشغيل 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 generate، مع تحديد إما مسار المعرف أو مساحة العمل للوحة المعلومات:

databricks bundle generate dashboard --existing-id [dashboard-id]
databricks bundle generate dashboard --existing-path [dashboard-workspace-path]

يمكنك نسخ مسار مساحة العمل للوحة معلومات من واجهة مستخدم مساحة العمل.

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

databricks bundle generate dashboard --existing-path "/Workspace/Users/someone@example.com/baby_gender_by_county.lvdash.json"
# This is the contents of the resulting baby_gender_by_county.dashboard.yml file.
resources:
  dashboards:
    baby_gender_by_county:
      display_name: "Baby gender by county"
      warehouse_id: aae11o8e6fe9zz79
      file_path: ../src/baby_gender_by_county.lvdash.json

تلميح

لتحديث .lvdash.json الملف بعد نشر لوحة معلومات بالفعل، استخدم --resource الخيار عند التشغيل bundle generate dashboard لإنشاء هذا الملف لمورد لوحة المعلومات الموجود. لاستقصاء التحديثات واستردادها باستمرار إلى لوحة معلومات، استخدم الخيارين --force و --watch .

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

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 summary الأمر إخراج ملخص لهوية المجموعة ومواردها، بما في ذلك الروابط العميقة للموارد بحيث يمكنك الانتقال بسهولة إلى المورد في مساحة عمل Databricks.

databricks bundle summary

إخراج المثال التالي هو ملخص حزمة تسمى my_pipeline_bundle التي تحدد مهمة ومسار:

Name: my_pipeline_bundle
Target: dev
Workspace:
  Host: https://myworkspace.cloud.databricks.com
  User: someone@example.com
  Path: /Users/someone@example.com/.bundle/my_pipeline/dev
Resources:
  Jobs:
    my_project_job:
      Name: [dev someone] my_project_job
      URL:  https://myworkspace.cloud.databricks.com/jobs/206000809187888?o=6051000018419999
  Pipelines:
    my_project_pipeline:
      Name: [dev someone] my_project_pipeline
      URL:  https://myworkspace.cloud.databricks.com/pipelines/7f559fd5-zztz-47fa-aa5c-c6bf034b4f58?o=6051000018419999

تلميح

يمكنك أيضا استخدام bundle open للانتقال إلى مورد في مساحة عمل Databricks. راجع فتح مورد مجموعة.

نشر مجموعة

لنشر حزمة إلى مساحة العمل البعيدة 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 باسم للوظيفة HelloWorld hello_job:

databricks bundle run --params message=HelloWorld hello_job

إشعار

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

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

databricks bundle run --restart hello_job

فتح مورد مجموعة

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

databricks bundle open [resource-key]

على سبيل المثال، يقوم الأمر التالي بتشغيل مستعرض وينتقل إلى لوحة معلومات baby_gender_by_county في المجموعة في مساحة عمل Databricks التي تم تكوينها للحزمة:

databricks bundle open baby_gender_by_county

تدمير مجموعة

تحذير

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

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

databricks bundle destroy

إشعار

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

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