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>"
راجع أيضًا:
- قوالب مشروع مجموعة أصول Databricks
- تطوير وظيفة على Azure Databricks باستخدام حزم أصول Databricks
- تطوير خطوط أنابيب Delta Live Tables باستخدام حزم أصول Databricks
- حزم أصول Databricks لمكدسات MLOps
عرض مخطط تكوين المجموعة
لعرض مخطط تكوين المجموعة، قم بتشغيل 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
الأمر .