حزمة النشر مع Databricks CLI
بعد أن يقوم فريقك بتكوين حزمة الأتمتة التصريحية، يصبح نشرها على Azure Databricks مسؤوليتك التالية. توفر واجهة Databricks مسارا مباشرا من بيئة التطوير المحلية إلى مساحات العمل الإنتاجية. أنت تتحكم في متى وأين تشغل خطوط الأنابيب والوظائف والموارد الأخرى. فهم هذا السير في النشر يتيح لك نقل الكود بشكل موثوق عبر البيئات مع الحفاظ على الاتساق.
ملاحظة
تركز هذه الوحدة على النشر القائم على CLI، وهو النهج الموصى به لأتمتة CI/CD. يمكن أيضا إدارة حزم الأتمتة التصريحية من خلال واجهة Azure Databricks لمساحة العمل (Public Preview)، وهي مفيدة للتعاون المؤقت دون تثبيت CLI. انظر Collaborate على الحزم في مساحة العمل.
التحقق من تكوين الحزمة
قبل النشر، تأكد من أن تكوين الحزمة لديك صحيح وكامل من الناحية النحوية . تقوم هذه الأوامر bundle validate بفحص ملفات التكوين الخاصة بك وتبلغ عن أي مشاكل قد تمنع النشر الناجح.
databricks bundle validate
عندما ينجح التحقق، ترى ملخصا لهوية الحزمة الخاصة بك:
Name: my_data_pipeline
Target: dev
Workspace:
Host: https://adb-1234567890123456.7.azuredatabricks.net
User: someone@example.com
Path: /Users/someone@example.com/.bundle/my_data_pipeline/dev
Validation OK!
يؤكد هذا الناتج اسم الحزمة، والبيئة المستهدفة، وتفاصيل مساحة العمل. إذا كان إعدادك يحتوي على أخطاء، مثل فقدان الحقول المطلوبة أو أسماء الخصائص غير الصالحة، فإن الأمر يخرج تحذيرات أو أخطاء تحتاج إلى معالجتها قبل المتابعة.
Tip
شغل bundle validate بعد إجراء تغييرات على ملفات تكوين الحزمة. اكتشاف أخطاء النحو مبكرا يوفر الوقت مقارنة باكتشافها أثناء النشر.
تغييرات النشر في المعاينة
بعد التحقق، يمكنك معاينة ما سيخلقه أو يحدث أو يزيل النشر دون إجراء تغييرات فعلية. يقوم الأمر bundle plan ببناء حزمة الحزمة الخاصة بك ويعرض الإجراءات المخططة.
databricks bundle plan
تظهر النتائج الموارد التي ستتأثر:
Building python_artifact...
create jobs.data_ingestion_job
create pipelines.transform_pipeline
تتيح لك هذه المعاينة التحقق من أن النشر يتوافق مع توقعاتك. إذا لاحظت تغييرات غير متوقعة، مثل إزالة الموارد التي كنت تنوي الاحتفاظ بها، قم بتعديل إعدادك قبل الالتزام بالنشر. بالنسبة للأهداف غير الافتراضية، حدد الهدف:
databricks bundle plan -t production
الحزمة الناشئة إلى مساحة عمل الهدف
بعد اكتمال التحقق ومراجعة الخطة، تقوم بنشر الحزمة باستخدام bundle deploy الأمر. يقوم هذا الأمر برفع التشويهات الخاصة بكوينشئ أو يحدث الموارد في مساحة العمل المستهدفة.
databricks bundle deploy
افتراضيا، يستخدم النشر الهدف الافتراضي المحدد في تكوين الحزمة الخاصة بك. للنشر إلى هدف محدد مثل التطوير أو المراحل أو الإنتاج، استخدم العلم -t :
databricks bundle deploy -t dev
أثناء النشر، يتتبع مؤشر التحكم الموارد التي ينشئها من خلال تخزين الحالة في مساحة العمل. يتيح هذا التتبع عدة سلوكيات:
- يتم إنشاء موارد جديدة معرفة في تكوينك في مساحة العمل
- الموارد الموجودة التي نشرتها سابقا يتم تحديثها لتتناسب مع إعدادك الحالي
- الموارد المحمولة التي لم تعد تظهر في إعدادك تحذف من مساحة العمل
مهم
كل نشر حزمة له هوية فريدة بناء على اسم الحزمة، واسم الهدف، وهوية المستخدم الذي ينشر. إذا قام عدة أعضاء فريق بنشر نفس الحزمة إلى نفس الهدف، فإن عمليات نشرهم ستتعارض. نسق مع فريقك لتحديد من ينتشر في البيئات المشتركة.
للعمليات التشغيلية التلقائية في خطوط أنابيب CI/CD، أضف العلم --auto-approve لتخطي أوامر التأكيد:
databricks bundle deploy -t production --auto-approve
التحقق من الموارد المنشورة
بعد اكتمال النشر، تحقق من توفر مواردك ومهيأة بشكل صحيح في مساحة العمل. يقوم الأمر bundle summary بإخراج معلومات عن الموارد المنشورة، بما في ذلك الروابط المباشرة لعرضها في واجهة Azure Databricks:
databricks bundle summary
Name: my_data_pipeline
Target: dev
Workspace:
Host: https://adb-1234567890123456.7.azuredatabricks.net
User: someone@example.com
Path: /Users/someone@example.com/.bundle/my_data_pipeline/dev
Resources:
Jobs:
data_ingestion_job:
Name: [dev someone] data_ingestion_job
URL: https://adb-1234567890123456.7.azuredatabricks.net/jobs/123456789?o=1234567890123456
Pipelines:
transform_pipeline:
Name: [dev someone] transform_pipeline
URL: https://adb-1234567890123456.7.azuredatabricks.net/pipelines/abc-123-def?o=1234567890123456
يمكنك أيضا التنقل مباشرة إلى مورد معين باستخدام bundle open الأمر:
databricks bundle open data_ingestion_job
هذا الأمر يفتح متصفحك على المورد في مساحة عمل Azure Databricks.
استكشاف المشكلات الشائعة في النشر
حتى مع التحضير الدقيق، تواجه عمليات النشر أحيانا مشاكل. إليك بعض القضايا الشائعة وكيفية حلها:
أخطاء المصادقة: إذا رأيت الإذن مرفوض أو فشل في المصادقة، تحقق من أن واجهة الاتصال الخاصة بك مهيأة ببيانات اعتماد صحيحة. تحقق من إعدادات ملفك الشخصي أو أعد التحقق من عملك.
databricks auth login --host https://adb-1234567890123456.7.azuredatabricks.net
تعارضات الأقفال: عند تنفيذ النشر، يحصل Azure Databricks على قفل لمنع التعديلات المتزامنة. إذا تم مقاطعة نشر سابق، قد ترى أخطاء القفل. استخدم العلم --force-lock لتجاوز الجهاز.
databricks bundle deploy --force-lock
تعارضات التشغيل النشط: إذا كانت الوظائف أو خطوط الأنابيب من حزمتك تعمل حاليا، فإن النشر يفشل بشكل افتراضي لمنع الاضطراب. يمكنك اختيار الفشل بشكل صريح مع العلم --fail-on-active-runs ، أو التعامل مع الموارد الجارية في استراتيجية النشر الخاصة بك.
تحذيرات التحقق: إذا bundle validate أبلغت عن تحذيرات حول خصائص غير معروفة، فقد تشير إعداداتك إلى ميزات غير متوفرة في إصدار CLI الحالي أو مساحة العمل الخاصة بك. قم بتحديث قائمة الائتمان الخاصة بك أو راجع أسماء الممتلكات مقابل المخطط الحالي.
مع أوامر النشر هذه، يمكنك نقل عملك في هندسة البيانات بشكل موثوق من التطوير مرورا بالمراحل إلى بيئات الإنتاج، مع الحفاظ على التحكم فيما يتم نشره ومتى.