تطوير حزم أصول Databricks
توضح هذه المقالة تطوير دورة حياة مجموعة أصول Databricks. للحصول على معلومات عامة حول حزم أصول Databricks، راجع ما هي حزم أصول Databricks؟.
دورة حياة مجموعة
لفهم كيفية استخدام الحزم بشكل فعال، تحتاج إلى فهم دورة الحياة الأساسية للحزمة:
- يتم إنشاء الهيكل العظمي للحزمة بناء على مشروع.
- يتم تطوير مشروع المجموعة محليا. تحتوي الحزمة على ملفات التكوين التي تحدد إعدادات البنية الأساسية ومساحة العمل مثل أهداف النشر وإعدادات موارد Databricks مثل الوظائف والبنية الأساسية لبرنامج ربط العمليات التجارية، بالإضافة إلى ملفات المصدر وغيرها من البيانات الاصطناعية.
- تم التحقق من صحة مشروع المجموعة. يتحقق التحقق من الصحة من الإعدادات وتعريفات الموارد في تكوين المجموعة مقابل مخططات الكائنات المقابلة للتأكد من أن الحزمة قابلة للتوزيع في Databricks.
- يتم نشر الحزمة في مساحة عمل هدف. الأكثر شيوعا يتم نشر الحزمة أولا إلى مساحة عمل التطوير الشخصية للمستخدم للاختبار. بمجرد الانتهاء من اختبار الحزمة، يمكن نشر الحزمة في التقسيم المرحلي، ثم أهداف الإنتاج.
- يمكن تشغيل موارد سير العمل المحددة في الحزمة المنشورة. على سبيل المثال، يمكنك تشغيل وظيفة.
- إذا لم يعد يتم استخدام الحزمة، يمكن إتلافها بشكل دائم.
يمكنك استخدام أوامر حزمة Databricks CLI لإنشاء الحزم والتحقق من صحتها ونشرها وتشغيلها وإتلافها، كما هو موضح في الأقسام التالية.
الخطوة 1: إنشاء مجموعة
هناك ثلاث طرق لبدء إنشاء مجموعة:
- استخدم قالب الحزمة الافتراضي.
- استخدم قالب حزمة مخصص.
- إنشاء حزمة يدويا.
استخدام قالب مجموعة افتراضي
لاستخدام قالب حزمة Azure Databricks الافتراضي لإنشاء مجموعة بداية يمكنك تخصيصها بشكل أكبر، استخدم Databricks CLI الإصدار 0.218.0 أو أعلى لتشغيل bundle init
الأمر، والذي يسمح لك للاختيار من قائمة القوالب المتوفرة. راجع إنشاء حزمة من قالب مشروع.
databricks bundle init
يمكنك عرض مصدر قوالب الحزمة الافتراضية في مستودعات Github العامة databricks/cli وdatabricks /mlops-stacks .
انتقل إلى الخطوة 2: ملء ملفات تكوين المجموعة.
استخدام قالب حزمة مخصص
لاستخدام قالب حزمة غير قالب حزمة Azure Databricks الافتراضي، يجب أن تعرف المسار المحلي أو عنوان URL إلى موقع قالب الحزمة البعيد. استخدم Databricks CLI الإصدار 0.218.0 أو أعلى لتشغيل bundle init
الأمر كما يلي:
databricks bundle init <project-template-local-path-or-url>
لمزيد من المعلومات حول هذا الأمر، راجع قوالب مشروع مجموعة أصول Databricks. للحصول على معلومات حول قالب حزمة معين، راجع وثائق موفر قالب المجموعة.
انتقل إلى الخطوة 2: ملء ملفات تكوين المجموعة.
إنشاء مجموعة يدويا
لإنشاء حزمة يدويا بدلا من استخدام قالب حزمة، قم بإنشاء دليل مشروع على جهازك المحلي، أو مستودع فارغ مع موفر Git تابع لجهة خارجية.
في الدليل أو المستودع، قم بإنشاء ملف واحد أو أكثر من ملفات تكوين الحزمة كإدخل. يتم التعبير عن هذه الملفات بتنسيق YAML. يجب أن يكون هناك ملف تكوين حزمة واحد على الأقل (وملف واحد فقط) يسمى databricks.yml
. يجب الرجوع إلى ملفات تكوين الحزمة الإضافية في include
تعيين databricks.yml
الملف.
لإنشاء ملفات YAML التي تتوافق مع بناء جملة تكوين مجموعة أصول Databricks بسهولة وسرعة أكبر، يمكنك استخدام أداة مثل Visual Studio Code أو PyCharm Professional أو IntelliJ IDEA Ultimate التي توفر الدعم لملفات YAML وملفات مخطط JSON، كما يلي:
تعليمة Visual Studio برمجية
أضف دعم خادم لغة YAML إلى Visual Studio Code، على سبيل المثال عن طريق تثبيت ملحق YAML من Visual Studio Code Marketplace.
قم بإنشاء ملف مخطط JSON لتكوين مجموعة أصول Databricks باستخدام Databricks CLI الإصدار 0.218.0 أو أعلى لتشغيل
bundle schema
الأمر وإعادة توجيه الإخراج إلى ملف JSON. على سبيل المثال، قم بإنشاء ملف باسمbundle_config_schema.json
داخل الدليل الحالي، كما يلي:databricks bundle schema > bundle_config_schema.json
استخدم Visual Studio Code لإنشاء ملف تكوين مجموعة أو فتحه داخل الدليل الحالي. يجب تسمية
databricks.yml
هذا الملف .أضف التعليق التالي إلى بداية ملف تكوين المجموعة:
# yaml-language-server: $schema=bundle_config_schema.json
إشعار
في التعليق السابق، إذا كان ملف مخطط JSON لتكوين Databricks Asset Bundle في مسار مختلف، فاستبدل
bundle_config_schema.json
بالمسار الكامل لملف المخطط الخاص بك.استخدم ميزات خادم لغة YAML التي أضفتها سابقا. لمزيد من المعلومات، راجع وثائق خادم لغة YAML.
PyCharm Professional
إنشاء ملف مخطط JSON لتكوين مجموعة أصول Databricks باستخدام Databricks CLI الإصدار 0.218.0 أو أعلى لتشغيل
bundle schema
الأمر وإعادة توجيه الإخراج إلى ملف JSON. على سبيل المثال، قم بإنشاء ملف باسمbundle_config_schema.json
داخل الدليل الحالي، كما يلي:databricks bundle schema > bundle_config_schema.json
قم بتكوين PyCharm للتعرف على ملف مخطط JSON لتكوين المجموعة، ثم أكمل تعيين مخطط JSON، باتباع الإرشادات الواردة في تكوين مخطط JSON مخصص.
استخدم PyCharm لإنشاء ملف تكوين مجموعة أو فتحه. يجب تسمية
databricks.yml
هذا الملف . أثناء الكتابة، يتحقق PyCharm من بناء جملة مخطط JSON وتنسيقه ويوفر تلميحات إكمال التعليمات البرمجية.
IntelliJ IDEA Ultimate
إنشاء ملف مخطط JSON لتكوين مجموعة أصول Databricks باستخدام Databricks CLI الإصدار 0.218.0 أو أعلى لتشغيل
bundle schema
الأمر وإعادة توجيه الإخراج إلى ملف JSON. على سبيل المثال، قم بإنشاء ملف باسمbundle_config_schema.json
داخل الدليل الحالي، كما يلي:databricks bundle schema > bundle_config_schema.json
قم بتكوين IntelliJ IDEA للتعرف على ملف مخطط JSON لتكوين المجموعة، ثم أكمل تعيين مخطط JSON، باتباع الإرشادات الواردة في تكوين مخطط JSON مخصص.
استخدم IntelliJ IDEA لإنشاء ملف تكوين مجموعة أو فتحه. يجب تسمية
databricks.yml
هذا الملف . أثناء الكتابة، يتحقق IntelliJ IDEA من بناء جملة مخطط JSON وتنسيقه ويوفر تلميحات إكمال التعليمات البرمجية.
الخطوة 2: ملء ملفات تكوين المجموعة
تحدد ملفات تكوين المجموعة مهام سير عمل Azure Databricks عن طريق تحديد إعدادات مثل تفاصيل مساحة العمل وأسماء البيانات الاصطناعية ومواقع الملفات وتفاصيل المهمة وتفاصيل المسار. عادة ما يحتوي تكوين الحزمة أيضا على أهداف التطوير والتقسيم المرحلي وتوزيع الإنتاج. للحصول على معلومات مفصلة حول ملفات تكوين المجموعة، راجع تكوين مجموعة أصول Databricks.
يمكنك استخدام bundle generate
الأمر لإنشاء تكوين حزمة تلقائيا لمورد موجود في مساحة العمل، ثم استخدام bundle deployment bind
لربط تكوين المجموعة بالمورد في مساحة العمل لإبقائها متزامنة. راجع إنشاء ملف تكوين مجموعة وربط موارد المجموعة.
الخطوة 3: التحقق من صحة ملفات تكوين المجموعة
قبل نشر البيانات الاصطناعية أو تشغيل مهمة أو مسار، يجب التحقق من أن التعريفات في ملفات تكوين الحزمة صالحة. للقيام بذلك، قم بتشغيل bundle validate
الأمر من دليل جذر مشروع المجموعة. راجع التحقق من صحة مجموعة.
databricks bundle validate
إذا نجح التحقق من الصحة، يتم إرجاع ملخص لهوية المجموعة ورسالة تأكيد. لإخراج المخطط، استخدم databricks bundle schema
الأمر . راجع عرض مخطط تكوين المجموعة.
الخطوة 4: نشر الحزمة
قبل نشر الحزمة، تأكد من تمكين ملفات مساحة العمل عن بعد لمساحة العمل. راجع ما هي ملفات مساحة العمل؟.
لنشر حزمة إلى مساحة عمل بعيدة، قم بتشغيل bundle deploy
الأمر من جذر المجموعة كما هو موضح في نشر مجموعة. يتم نشر Databricks CLI إلى مساحة العمل الهدف التي تم الإعلان عنها داخل ملفات تكوين المجموعة. راجع الأهداف.
databricks bundle deploy
يتم تعريف الهوية الفريدة للحزمة باسمها وهدفها وهوية الموزع. إذا كانت هذه السمات متطابقة عبر حزم مختلفة، فإن نشر هذه الحزم سيتداخل مع بعضها البعض. راجع نشر مجموعة للحصول على تفاصيل إضافية.
تلميح
يمكنك تشغيل databricks bundle
الأوامر خارج جذر المجموعة عن طريق تعيين BUNDLE_ROOT
متغير البيئة. إذا لم يتم تعيين متغير البيئة هذا، databricks bundle
تحاول الأوامر العثور على جذر المجموعة عن طريق البحث داخل دليل العمل الحالي.
الخطوة 5: تشغيل الحزمة
لتشغيل مهمة أو مسار معين، قم بتشغيل bundle run
الأمر من جذر الحزمة، مع تحديد الوظيفة أو مفتاح المسار المعلن داخل ملفات تكوين المجموعة، كما هو موضح في تشغيل مهمة أو مسار. مفتاح المورد هو عنصر المستوى الأعلى من كتلة YAML للمورد. إذا لم تحدد وظيفة أو مفتاح مسار، فستتم مطالبتك بتحديد مورد لتشغيله من قائمة بالموارد المتوفرة. -t
إذا لم يتم تحديد الخيار، يتم استخدام الهدف الافتراضي كما هو معلن داخل ملفات تكوين المجموعة. على سبيل المثال، لتشغيل وظيفة باستخدام المفتاح hello_job
ضمن سياق الهدف الافتراضي:
databricks bundle run hello_job
لتشغيل مهمة بمفتاح hello_job
ضمن سياق هدف معلن باسم dev
:
databricks bundle run -t dev hello_job
الخطوة 6: تدمير الحزمة
تحذير
يؤدي تدمير حزمة إلى حذف الوظائف والمسارات والبيانات الاصطناعية التي تم نشرها مسبقا في حزمة بشكل دائم. لا يمكن التراجع عن هذا الإجراء.
إذا انتهيت من الحزمة الخاصة بك وتريد حذف المهام والتدفقات والبيانات الاصطناعية التي تم نشرها مسبقا، فقم بتشغيل bundle destroy
الأمر من جذر المجموعة. يحذف هذا الأمر جميع المهام والمسارات والبيانات الاصطناعية التي تم نشرها مسبقا والتي تم تعريفها في ملفات تكوين المجموعة. راجع تدمير مجموعة.
databricks bundle destroy
بشكل افتراضي، تتم مطالبتك بتأكيد الحذف الدائم للوظائف والمسارات والبيانات الاصطناعية التي تم نشرها مسبقا. لتخطي هذه المطالبات وتنفيذ الحذف الدائم التلقائي، أضف --auto-approve
الخيار إلى bundle destroy
الأمر .