أوضاع نشر مجموعة أصول Databricks
توضح هذه المقالة بناء الجملة لأوضاع نشر مجموعة أصول Databricks. تمكن الحزم الإدارة البرمجية لسير عمل Azure Databricks. راجع ما هي حزم أصول Databricks؟
في مهام سير عمل CI/CD، عادة ما التعليمات البرمجية للحلول واختبارها ونشرها وتشغيلها في مراحل أو أوضاع مختلفة. على سبيل المثال، تتضمن أبسط مجموعة من الأوضاع وضع تطوير للتحقق من صحة ما قبل الإنتاج، متبوعا بوضع إنتاج للتسليمات التي تم التحقق من صحتها. توفر حزم أصول Databricks مجموعة اختيارية من السلوكيات الافتراضية التي تتوافق مع كل من هذه الأوضاع. لاستخدام هذه السلوكيات لهدف معين، قم بتعيين mode
أو تكوين presets
لهدف في targets
تعيين التكوين. للحصول على معلومات حول targets
، راجع تعيين أهداف تكوين المجموعة.
وضع التطوير
لنشر الحزمة الخاصة بك في وضع التطوير، يجب أولا إضافة mode
التعيين، وتعيين إلى development
، إلى الهدف المقصود. على سبيل المثال، يتم التعامل مع هذا الهدف المسمى dev
كهدف تطوير:
targets:
dev:
mode: development
توزيع هدف في وضع التطوير عن طريق تشغيل databricks bundle deploy -t <target-name>
الأمر ينفذ السلوكيات التالية، والتي يمكن تخصيصها باستخدام الإعدادات المسبقة:
- إلحاق كافة الموارد التي لم يتم نشرها كملفات أو دفاتر ملاحظات مع البادئة
[dev ${workspace.current_user.short_name}]
وعلامات كل مهمة تم نشرها وتدفق معdev
علامة Azure Databricks. - وضع علامة على جميع مسارات Delta Live Tables المنشورة ذات الصلة ك
development: true
. راجع استخدام وضع التطوير لتشغيل تحديثات البنية الأساسية لبرنامج ربط العمليات التجارية. - تمكين استخدام
--compute-id <cluster-id>
في الاستدعاءات ذات الصلة إلىbundle deploy
الأمر الذي يتجاوز أي وجميع تعريفات نظام المجموعة الموجودة المحددة بالفعل في ملف تكوين المجموعة ذات الصلة. بدلا من استخدام--compute-id <cluster-id>
في الاستدعاءات ذات الصلة إلىbundle deploy
الأمر، يمكنك تعيينcompute_id
التعيين هنا، أو تعيين تابع للتbundle
تعيين، إلى معرف نظام المجموعة لاستخدامه. - إيقاف جميع الجداول والمشغلات مؤقتا على الموارد المنشورة مثل الوظائف أو أجهزة مراقبة الجودة. إلغاء الإيقاف للجداول والمشغلات لمهمة فردية عن طريق تعيين
schedule.pause_status
إلىUNPAUSED
. - تمكين عمليات التشغيل المتزامنة على جميع المهام المنشورة للتكرار بشكل أسرع. تعطيل عمليات التشغيل المتزامنة لوظيفة فردية عن طريق تعيين
max_concurrent_runs
إلى1
. - تعطيل تأمين النشر للتكرار بشكل أسرع. يمنع هذا التأمين تعارضات التوزيع التي من غير المحتمل أن تحدث في وضع التطوير. أعد تمكين التأمين عن طريق تعيين
bundle.deployment.lock.enabled
إلىtrue
.
وضع الإنتاج
لنشر الحزمة الخاصة بك في وضع الإنتاج، يجب أولا إضافة mode
التعيين، وتعيين إلى production
، إلى الهدف المقصود. على سبيل المثال، يتم التعامل مع هذا الهدف المسمى prod
كهدف إنتاج:
targets:
prod:
mode: production
يؤدي نشر هدف في وضع الإنتاج عن طريق تشغيل الأمر إلى databricks bundle deploy -t <target-name>
تنفيذ السلوكيات التالية:
التحقق من أن كافة مسارات Delta Live Tables المنشورة ذات الصلة تم وضع علامة عليها على أنها
development: false
.التحقق من أن فرع Git الحالي يساوي فرع Git المحدد في الهدف. تحديد فرع Git في الهدف اختياري ويمكن القيام به بخاصية إضافية
git
كما يلي:git: branch: main
يمكن تجاوز التحقق من الصحة هذا عن طريق تحديد
--force
أثناء النشر.توصي Databricks باستخدام أساسيات الخدمة لنشر الإنتاج. يمكنك فرض ذلك عن طريق الإعداد
run_as
إلى كيان الخدمة. راجع إدارة كيانات الخدمة وتحديد هوية تشغيل لسير عمل Databricks Asset Bundles. إذا لم تستخدم كيانات الخدمة، فلاحظ السلوكيات الإضافية التالية:- التحقق من أن
artifact_path
file_path
root_path
التعيينات أوstate_path
لا يتم تجاوزها لمستخدم معين. - التحقق من تحديد
run_as
التعيينات وpermissions
لتوضيح الهويات التي لها أذونات محددة للتوزيع.
- التحقق من أن
على عكس السلوك السابق لتعيين
mode
التعيين إلىdevelopment
، لا يسمح تعيينmode
التعيين بتجاوزproduction
أي تعريفات نظام مجموعة موجودة محددة في ملف تكوين المجموعة ذات الصلة، على سبيل المثال باستخدام--compute-id <cluster-id>
الخيار أوcompute_id
التعيين.
الإعدادات المسبقة المخصصة
تدعم Databricks Asset Bundles الإعدادات المسبقة القابلة للتكوين للأهداف، ما يسمح لك بتخصيص السلوكيات للأهداف. يتم سرد الإعدادات المسبقة المتوفرة في الجدول التالي:
المعد مسبقًا | الوصف |
---|---|
name_prefix |
سلسلة البادئة المراد إلحاقها بأسماء الموارد. |
pipelines_development |
ما إذا كان المسار في وضع التطوير أم لا. القيم الصالحة هي true أو false . |
trigger_pause_status |
حالة إيقاف مؤقت لتطبيقها على جميع المشغلات والجدول الزمني. القيم الصالحة هي PAUSED أو UNPAUSED . |
jobs_max_concurrent_runs |
عدد الحد الأقصى المسموح به لعمليات التشغيل المتزامنة للوظائف. |
tags |
مجموعة من علامات key:value التي تنطبق على جميع الموارد التي تدعم العلامات، والتي تتضمن الوظائف والتجارب. لا تدعم حزم أصول Databricks علامات schema المورد. |
إشعار
إذا تم تعيين كل من mode
و presets
، تتجاوز الإعدادات المسبقة سلوك الوضع الافتراضي، وتتجاوز إعدادات الموارد الفردية الإعدادات المسبقة. على سبيل المثال، إذا تم تعيين جدول إلى UNPAUSED
، ولكن trigger_pause_status
تم تعيين الإعداد المسبق إلى PAUSED
، فإن الجدول غير مستخدم.
يوضح المثال التالي تكوين إعدادات مسبقة مخصصة للهدف المسمى dev
:
targets:
dev:
presets:
name_prefix: "testing_" # prefix all resource names with testing_
pipelines_development: true # set development to true for pipelines
trigger_pause_status: PAUSED # set pause_status to PAUSED for all triggers and schedules
jobs_max_concurrent_runs: 10 # set max_concurrent runs to 10 for all jobs
tags:
department: finance