أوضاع نشر مجموعة أصول 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_pathfile_pathroot_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