تطوير ملف عجلة Python باستخدام حزم أصول Databricks
توضح هذه المقالة كيفية إنشاء ملف عجلة Python ونشره وتشغيله كجزء من مشروع مجموعة أصول Databricks. راجع ما هي حزم أصول Databricks؟
المتطلبات
- Databricks CLI الإصدار 0.218.0 أو أعلى. للتحقق من الإصدار المثبت من Databricks CLI، قم بتشغيل الأمر
databricks -v
. لتثبيت Databricks CLI، راجع تثبيت Databricks CLI أو تحديثه. - يجب أن تحتوي مساحة العمل البعيدة على ملفات مساحة عمل ممكنة. راجع ما هي ملفات مساحة العمل؟.
القرار: إنشاء الحزمة يدويا أو باستخدام قالب
حدد ما إذا كنت تريد إنشاء مجموعة بداية باستخدام قالب أو إنشاء المجموعة يدويا. يعد إنشاء الحزمة باستخدام قالب أسرع وأسهل، ولكن قد تنتج المجموعة محتوى غير مطلوب، ويجب تخصيص الإعدادات الافتراضية للحزمة بشكل أكبر للتطبيقات الحقيقية. يمنحك إنشاء الحزمة يدويا التحكم الكامل في إعدادات المجموعة، ولكن يجب أن تكون على دراية بكيفية عمل الحزم، أثناء القيام بكل العمل من البداية. اختر إحدى مجموعات الخطوات التالية:
إنشاء الحزمة باستخدام قالب
في هذه الخطوات، يمكنك إنشاء الحزمة باستخدام قالب حزمة Azure Databricks الافتراضي ل Python. ترشدك هذه الخطوات إلى إنشاء مجموعة تتكون من ملفات للبناء في ملف عجلة Python وتعريف مهمة Azure Databricks لإنشاء ملف عجلة Python هذا. يمكنك بعد ذلك التحقق من صحة الملفات المنشورة ونشرها وبناءها في ملف عجلة Python من مهمة عجلة Python داخل مساحة عمل Azure Databricks.
يستخدم قالب حزمة Azure Databricks الافتراضي ل Python setuptools لإنشاء ملف عجلة Python. إذا كنت ترغب في استخدام الشعر لبناء ملف عجلة Python بدلا من ذلك، فاتبع التعليمات لاحقا في هذا القسم لمبادلة setuptools
تنفيذ تنفيذ الشعر بدلا من ذلك.
الخطوة 1: إعداد المصادقة
في هذه الخطوة، يمكنك إعداد المصادقة بين Databricks CLI على جهاز التطوير ومساحة عمل Azure Databricks. تفترض هذه المقالة أنك تريد استخدام مصادقة OAuth من مستخدم إلى جهاز (U2M) وملف تعريف تكوين Azure Databricks المطابق المسمى DEFAULT
للمصادقة.
إشعار
مصادقة U2M مناسبة لتجربة هذه الخطوات في الوقت الفعلي. بالنسبة إلى مهام سير العمل التلقائية بالكامل، توصي Databricks باستخدام مصادقة OAuth من جهاز إلى جهاز (M2M) بدلا من ذلك. راجع إرشادات إعداد مصادقة M2M في المصادقة.
استخدم Databricks CLI لبدء إدارة الرمز المميز OAuth محليا عن طريق تشغيل الأمر التالي لكل مساحة عمل هدف.
في الأمر التالي، استبدل
<workspace-url>
بعنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
يطالبك Databricks CLI بحفظ المعلومات التي أدخلتها كملف تعريف تكوين Azure Databricks. اضغط
Enter
لقبول اسم ملف التعريف المقترح، أو أدخل اسم ملف تعريف جديد أو موجود. تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم بالمعلومات التي أدخلتها. يمكنك استخدام ملفات التعريف لتبديل سياق المصادقة بسرعة عبر مساحات عمل متعددة.للحصول على قائمة بأي ملفات تعريف موجودة، في محطة طرفية منفصلة أو موجه أوامر، استخدم Databricks CLI لتشغيل الأمر
databricks auth profiles
. لعرض الإعدادات الموجودة لملف تعريف معين، قم بتشغيل الأمرdatabricks auth env --profile <profile-name>
.في مستعرض الويب الخاص بك، أكمل الإرشادات التي تظهر على الشاشة لتسجيل الدخول إلى مساحة عمل Azure Databricks.
لعرض قيمة رمز OAuth المميز الحالي لملف التعريف والطوابع الزمنية لانتهاء الصلاحية القادمة للرمز المميز، قم بتشغيل أحد الأوامر التالية:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
إذا كان لديك ملفات تعريف متعددة بنفس
--host
القيمة، فقد تحتاج إلى تحديد--host
الخيارات و-p
معا لمساعدة Databricks CLI في العثور على معلومات الرمز المميز OAuth المتطابقة الصحيحة.
الخطوة 2: إنشاء المجموعة
تحتوي المجموعة على البيانات الاصطناعية التي تريد نشرها وإعدادات مهام سير العمل التي تريد تشغيلها.
استخدم المحطة الطرفية أو موجه الأوامر للتبديل إلى دليل على جهاز التطوير المحلي الذي سيحتوي على مجموعة القالب التي تم إنشاؤها.
استخدم إصدار Databricks CLI لتشغيل
bundle init
الأمر:databricks bundle init
بالنسبة إلى
Template to use
، اترك القيمة الافتراضية للضغطdefault-python
علىEnter
.بالنسبة إلى
Unique name for this project
، اترك القيمة الافتراضية لmy_project
، أو اكتب قيمة مختلفة، ثم اضغطEnter
على . يحدد هذا اسم الدليل الجذر لهذه الحزمة. يتم إنشاء هذا الدليل الجذر داخل دليل العمل الحالي.بالنسبة إلى
Include a stub (sample) notebook
، حددno
واضغطEnter
على . هذا يوجه Databricks CLI إلى عدم إضافة نموذج دفتر ملاحظات إلى مجموعتك.بالنسبة إلى
Include a stub (sample) DLT pipeline
، حددno
واضغطEnter
على . هذا يرشد Databricks CLI إلى عدم تعريف نموذج مسار Delta Live Tables في مجموعتك.بالنسبة إلى
Include a stub (sample) Python package
، اترك القيمة الافتراضية للضغطyes
علىEnter
. هذا يوجه Databricks CLI لإضافة نموذج ملفات حزمة عجلة Python وإرشادات البناء ذات الصلة إلى مجموعتك.
الخطوة 3: استكشاف المجموعة
لعرض الملفات التي أنشأها القالب، قم بالتبديل إلى الدليل الجذر للحزمة التي تم إنشاؤها حديثا وافتح هذا الدليل باستخدام IDE المفضل لديك، على سبيل المثال Visual Studio Code. تتضمن الملفات ذات الاهتمام الخاص ما يلي:
databricks.yml
: يحدد هذا الملف الاسم البرمجي للحزمة، ويتضمن مرجعا إلى تعريف مهمة عجلة Python، ويحدد إعدادات حول مساحة العمل الهدف.resources/<project-name>_job.yml
: يحدد هذا الملف إعدادات مهمة عجلة Python.src/<project-name>
: يتضمن هذا الدليل الملفات التي تستخدمها مهمة عجلة Python لإنشاء ملف عجلة Python.
إشعار
إذا كنت ترغب في تثبيت ملف عجلة Python على نظام مجموعة هدف يحتوي على Databricks Runtime 12.2 LTS أو أقل مثبتا، يجب إضافة تعيين المستوى الأعلى التالي إلى databricks.yml
الملف:
# Applies to all tasks of type python_wheel_task.
experimental:
python_wheel_wrapper: true
يرشد هذا التعيين Databricks CLI للقيام بما يلي:
- نشر نسخة من ملف عجلة Python في الخلفية. عادة ما
${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
يكون مسار النشر هذا . - إنشاء دفتر ملاحظات في الخلفية يحتوي على إرشادات لتثبيت ملف عجلة Python المنشورة السابقة على نظام المجموعة الهدف. عادة ما
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
يكون مسار دفتر الملاحظات هذا . - عند تشغيل مهمة تحتوي على مهمة عجلة Python، وهذه المهام تشير إلى ملف عجلة Python السابق، يتم إنشاء مهمة في الخلفية التي تقوم بتشغيل دفتر الملاحظات السابق.
لا تحتاج إلى تحديد هذا التعيين للمجموعات المستهدفة مع تثبيت Databricks Runtime 13.1 أو أعلى، حيث سيتم تثبيت تثبيت عجلة Python من نظام ملفات مساحة عمل Azure Databricks تلقائيا على هذه المجموعات المستهدفة.
الخطوة 4: تحديث حزمة المشروع لاستخدام الشعر
بشكل افتراضي، يحدد قالب الحزمة إنشاء ملف عجلة Python باستخدام setuptools
جنبا إلى جنب مع الملفات setup.py
و requirements-dev.txt
. إذا كنت تريد الاحتفاظ بهذه الإعدادات الافتراضية، فانتقل إلى الخطوة 5: التحقق من صحة ملف تكوين حزمة المشروع.
لتحديث حزمة المشروع لاستخدام الشعر بدلا من setuptools
، تأكد من أن جهاز التطوير المحلي الخاص بك يفي بالمتطلبات التالية:
- إصدار الشعر 1.6 أو أعلى. للتحقق من الإصدار المثبت من الشعر، قم بتشغيل الأمر
poetry -V
أوpoetry --version
. لتثبيت أو ترقية الشعر، راجع التثبيت. - إصدار Python 3.10 أو أعلى. للتحقق من إصدار Python، قم بتشغيل الأمر
python -V
أوpython --version
. - Databricks CLI الإصدار 0.209.0 أو أعلى. إلى إصدار Databricks CLI الخاص بك، قم بتشغيل الأمر
databricks -v
أوdatabricks --version
. راجع تثبيت Databricks CLI أو تحديثه.
قم بإجراء التغييرات التالية على حزمة المشروع:
من الدليل الجذر للحزمة، اطلب
poetry
تهيئة بنيات عجلة Python للشعر، عن طريق تشغيل الأمر التالي:poetry init
يعرض الشعر عدة مطالبات لك لإكمالها. بالنسبة إلى إصدارات عجلة Python، أجب عن هذه المطالبات كما يلي لمطابقة الإعدادات الافتراضية ذات الصلة في مجموعة المشروع:
- بالنسبة إلى
Package name
، اكتب اسم المجلد التابع ضمن/src
، ثم اضغطEnter
على . يجب أن تكون هذه أيضا قيمة الحزمةname
التي تم تعريفها في ملف الحزمةsetup.py
. - بالنسبة إلى
Version
، اكتب0.0.1
واضغطEnter
على . يطابق هذا رقم الإصدار المحدد في ملف الحزمةsrc/<project-name>/__init__.py
. - بالنسبة إلى
Description
، اكتبwheel file based on <project-name>/src
(استبدال<project-name>
باسم المشروع)، واضغطEnter
على . يطابقdescription
هذا القيمة المعرفة في ملف القالبsetup.py
. - بالنسبة إلى
Author
، اضغطEnter
على . تطابق هذه القيمة الافتراضية الكاتب الذي تم تعريفه في ملف القالبsetup.py
. - بالنسبة إلى
License
، اضغطEnter
على . لا يوجد ترخيص محدد في القالب. - بالنسبة
Compatible Python versions
إلى ، أدخل إصدار Python الذي يطابق الإصدار الموجود على مجموعات Azure Databricks الهدف (على سبيل المثال،^3.10
)، واضغطEnter
على . - بالنسبة إلى
Would you like to define your main dependencies interactively?
النوعno
واضغطEnter
على . ستقوم بتعريف تبعياتك لاحقا. - بالنسبة إلى
Would you like to define your development dependencies interactively?
النوعno
واضغطEnter
على . ستقوم بتعريف تبعياتك لاحقا. Enter
اضغط علىDo you confirm generation?
.
- بالنسبة إلى
بعد إكمال المطالبات، يضيف الشعر ملفا
pyproject.toml
إلى مشروع المجموعة. للحصول علىpyproject.toml
معلومات حول الملف، راجع ملف pyproject.toml.من الدليل الجذر للحزمة، اطلب
poetry
قراءةpyproject.toml
الملف، وحل التبعيات وتثبيتها، وإنشاءpoetry.lock
ملف لتأمين التبعيات، وأخيرا لإنشاء بيئة ظاهرية. للقيام بذلك، قم بتشغيل الأمر التالي:poetry install
أضف القسم التالي في نهاية
pyproject.toml
الملف، مع<project-name>
استبدال باسم الدليل الذي يحتوي علىsrc/<project-name>/main.py
الملف (على سبيل المثال،my_project
):[tool.poetry.scripts] main = "<project-name>.main:main"
يحدد القسم نقطة دخول عجلة Python لمهمة عجلة Python.
أضف التعيين التالي في المستوى الأعلى لملف الحزمة
databricks.yml
:artifacts: default: type: whl build: poetry build path: .
يرشد هذا التعيين Databricks CLI إلى استخدام الشعر لإنشاء ملف عجلة Python.
احذف الملفات
setup.py
وrequirements-dev.txt
من المجموعة، حيث لا يحتاجها الشعر.
الخطوة 5: التحقق من صحة ملف تكوين حزمة المشروع
في هذه الخطوة، يمكنك التحقق مما إذا كان تكوين المجموعة صالحا.
من الدليل الجذر، استخدم Databricks CLI لتشغيل
bundle validate
الأمر، كما يلي:databricks bundle validate
إذا تم إرجاع ملخص لتكوين المجموعة، فنجح التحقق من الصحة. إذا تم إرجاع أي أخطاء، قم بإصلاح الأخطاء، ثم كرر هذه الخطوة.
إذا قمت بإجراء أي تغييرات على حزمتك بعد هذه الخطوة، فيجب عليك تكرار هذه الخطوة للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا.
الخطوة 6: إنشاء ملف عجلة Python ونشر المشروع المحلي إلى مساحة العمل البعيدة
في هذه الخطوة، يمكنك إنشاء ملف عجلة Python، ونشر ملف عجلة Python المضمن إلى مساحة عمل Azure Databricks البعيدة، وإنشاء مهمة Azure Databricks داخل مساحة العمل الخاصة بك.
إذا كنت تستخدم
setuptools
، فقم بتثبيتwheel
الحزم وsetuptools
إذا لم تكن قد فعلت ذلك بالفعل، عن طريق تشغيل الأمر التالي:pip3 install --upgrade wheel setuptools
في محطة Visual Studio Code الطرفية، استخدم Databricks CLI لتشغيل
bundle deploy
الأمر كما يلي:databricks bundle deploy -t dev
إذا كنت تريد التحقق مما إذا كان قد تم نشر ملف عجلة Python الذي تم إنشاؤه محليا:
- في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق مساحة العمل.
- انقر في المجلد التالي: Workspace > Users
<your-username>
>> .bundle ><project-name>
> dev > artifacts > .internal .><random-guid>
يجب أن يكون ملف عجلة Python في هذا المجلد.
إذا كنت تريد التحقق مما إذا كانت المهمة قد تم إنشاؤها:
- في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق مهام سير العمل.
- على علامة التبويب مهام ، انقر فوق [dev
<your-username>
]<project-name>
_job. - انقر فوق علامة التبويب المهام.
يجب أن تكون هناك مهمة واحدة: main_task.
إذا قمت بإجراء أي تغييرات على مجموعتك بعد هذه الخطوة، يجب تكرار الخطوات من 5 إلى 6 للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا ثم إعادة نشر المشروع.
الخطوة 7: تشغيل المشروع المنشور
في هذه الخطوة، يمكنك تشغيل وظيفة Azure Databricks في مساحة العمل الخاصة بك.
من الدليل الجذر، استخدم Databricks CLI لتشغيل
bundle run
الأمر، كما يلي، استبدال<project-name>
باسم مشروعك من الخطوة 2:databricks bundle run -t dev <project-name>_job
انسخ قيمة
Run URL
التي تظهر في المحطة الطرفية الخاصة بك والصق هذه القيمة في مستعرض الويب لفتح مساحة عمل Azure Databricks.في مساحة عمل Azure Databricks، بعد اكتمال المهمة بنجاح وعرض شريط عنوان أخضر، انقر فوق المهمة main_task لمشاهدة النتائج.
إذا أجريت أي تغييرات على مجموعتك بعد هذه الخطوة، فيجب عليك تكرار الخطوات من 5 إلى 7 للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا، وإعادة نشر المشروع، وتشغيل المشروع المعاد توزيعه.
لقد وصلت إلى نهاية الخطوات لإنشاء مجموعة باستخدام قالب.
إنشاء الحزمة يدويا
في هذه الخطوات، يمكنك إنشاء الحزمة من البداية باليد. ترشدك هذه الخطوات إلى إنشاء مجموعة تتكون من ملفات للبناء في ملف عجلة Python وتعريف مهمة Databricks لإنشاء ملف عجلة Python هذا. يمكنك بعد ذلك التحقق من صحة الملفات المنشورة ونشرها وبناءها في ملف عجلة Python من مهمة عجلة Python داخل مساحة عمل Databricks.
تتضمن هذه الخطوات إضافة محتوى إلى ملف YAML. اختياريا، قد تحتاج إلى استخدام بيئة تطوير متكاملة (IDE) توفر اقتراحات وإجراءات مخطط تلقائية عند العمل مع ملفات YAML. تستخدم الخطوات التالية Visual Studio Code مع ملحق YAML المثبت من Visual Studio Code Marketplace.
تفترض هذه الخطوات أنك تعرف بالفعل:
- كيفية إنشاء ملفات عجلة Python وبنائها والعمل معها باستخدام الشعر أو
setuptools
. للشعر، راجع الاستخدام الأساسي. بالنسبة إلىsetuptools
، راجع دليل مستخدم حزم Python. - كيفية استخدام ملفات عجلة Python كجزء من مهمة Azure Databricks. راجع استخدام ملف عجلة Python في مهمة Azure Databricks.
اتبع هذه الإرشادات لإنشاء عينة حزمة تقوم بإنشاء ملف عجلة Python باستخدام الشعر أو setuptools
، ونشر ملف عجلة Python، ثم تشغيل ملف عجلة Python المنشور.
إذا كنت قد أنشأت بالفعل ملف عجلة Python وتريد فقط نشره وتشغيله، فانتقل إلى تحديد إعدادات عجلة Python في ملف تكوين المجموعة في الخطوة 3: إنشاء ملف تكوين المجموعة.
الخطوة 1: إعداد المصادقة
في هذه الخطوة، يمكنك إعداد المصادقة بين Databricks CLI على جهاز التطوير ومساحة عمل Azure Databricks. تفترض هذه المقالة أنك تريد استخدام مصادقة OAuth من مستخدم إلى جهاز (U2M) وملف تعريف تكوين Azure Databricks المطابق المسمى DEFAULT
للمصادقة.
إشعار
مصادقة U2M مناسبة لتجربة هذه الخطوات في الوقت الفعلي. بالنسبة إلى مهام سير العمل التلقائية بالكامل، توصي Databricks باستخدام مصادقة OAuth من جهاز إلى جهاز (M2M) بدلا من ذلك. راجع إرشادات إعداد مصادقة M2M في المصادقة.
استخدم Databricks CLI لبدء إدارة الرمز المميز OAuth محليا عن طريق تشغيل الأمر التالي لكل مساحة عمل هدف.
في الأمر التالي، استبدل
<workspace-url>
بعنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
يطالبك Databricks CLI بحفظ المعلومات التي أدخلتها كملف تعريف تكوين Azure Databricks. اضغط
Enter
لقبول اسم ملف التعريف المقترح، أو أدخل اسم ملف تعريف جديد أو موجود. تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم بالمعلومات التي أدخلتها. يمكنك استخدام ملفات التعريف لتبديل سياق المصادقة بسرعة عبر مساحات عمل متعددة.للحصول على قائمة بأي ملفات تعريف موجودة، في محطة طرفية منفصلة أو موجه أوامر، استخدم Databricks CLI لتشغيل الأمر
databricks auth profiles
. لعرض الإعدادات الموجودة لملف تعريف معين، قم بتشغيل الأمرdatabricks auth env --profile <profile-name>
.في مستعرض الويب الخاص بك، أكمل الإرشادات التي تظهر على الشاشة لتسجيل الدخول إلى مساحة عمل Azure Databricks.
لعرض قيمة رمز OAuth المميز الحالي لملف التعريف والطوابع الزمنية لانتهاء الصلاحية القادمة للرمز المميز، قم بتشغيل أحد الأوامر التالية:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
إذا كان لديك ملفات تعريف متعددة بنفس
--host
القيمة، فقد تحتاج إلى تحديد--host
الخيارات و-p
معا لمساعدة Databricks CLI في العثور على معلومات الرمز المميز OAuth المتطابقة الصحيحة.
الخطوة 2: إنشاء المجموعة
تحتوي المجموعة على البيانات الاصطناعية التي تريد نشرها وإعدادات مهام سير العمل التي تريد تشغيلها.
في جذر حزمتك، قم بإنشاء المجلدات والملفات التالية، اعتمادا على ما إذا كنت تستخدم الشعر أو
setuptools
لإنشاء ملفات عجلة Python:شعر
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── pyproject.toml
قوالب الإعداد
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── setup.py
__init__.py
اترك الملف فارغا.أضف التعليمات البرمجية
main.py
التالية إلى الملف ثم احفظ الملف:from my_package.my_module import * def main(): first = 200 second = 400 print(f"{first} + {second} = {add_two_numbers(first, second)}") print(f"{second} - {first} = {subtract_two_numbers(second, first)}") print(f"{first} * {second} = {multiply_two_numbers(first, second)}") print(f"{second} / {first} = {divide_two_numbers(second, first)}") if __name__ == "__main__": main()
أضف التعليمات البرمجية
my_module.py
التالية إلى الملف ثم احفظ الملف:def add_two_numbers(a, b): return a + b def subtract_two_numbers(a, b): return a - b def multiply_two_numbers(a, b): return a * b def divide_two_numbers(a, b): return a / b
أضف التعليمات البرمجية
pyproject.toml
التالية إلى الملف أوsetup.py
ثم احفظ الملف:Pyproject.toml
[tool.poetry] name = "my_package" version = "0.0.1" description = "<my-package-description>" authors = ["my-author-name <my-author-name>@<my-organization>"] [tool.poetry.dependencies] python = "^3.10" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] main = "my_package.main:main"
- استبدل
my-author-name
باسم جهة الاتصال الأساسية لمؤسستك. - استبدل
my-author-name>@<my-organization
بعنوان جهة اتصال البريد الإلكتروني الأساسي لمؤسستك. - استبدل
<my-package-description>
بوصف عرض لملف عجلة Python.
Setup.py
from setuptools import setup, find_packages import src setup( name = "my_package", version = "0.0.1", author = "<my-author-name>", url = "https://<my-url>", author_email = "<my-author-name>@<my-organization>", description = "<my-package-description>", packages=find_packages(where='./src'), package_dir={'': 'src'}, entry_points={ "packages": [ "main=my_package.main:main" ] }, install_requires=[ "setuptools" ] )
- استبدل
https://<my-url>
بعنوان URL الخاص بمؤسستك. - استبدل
<my-author-name>
باسم جهة الاتصال الأساسية لمؤسستك. - استبدل
<my-author-name>@<my-organization>
بعنوان جهة اتصال البريد الإلكتروني الأساسي لمؤسستك. - استبدل
<my-package-description>
بوصف عرض لملف عجلة Python.
- استبدل
الخطوة 3: إنشاء ملف تكوين المجموعة
يصف ملف تكوين المجموعة البيانات الاصطناعية التي تريد نشرها وسير العمل الذي تريد تشغيله.
في جذر الحزمة، أضف ملف تكوين مجموعة باسم
databricks.yml
. أضف التعليمات البرمجية التالية إلى هذا الملف:شعر
إشعار
إذا قمت بالفعل بإنشاء ملف عجلة Python وتريد نشره فقط، فعدل ملف تكوين المجموعة التالي عن طريق حذف
artifacts
التعيين. سيفترض Databricks CLI بعد ذلك أن ملف عجلة Python تم إنشاؤه بالفعل وسينشر تلقائيا الملفات المحددة فيlibraries
إدخالات الصفيفwhl
.bundle: name: my-wheel-bundle artifacts: default: type: whl build: poetry build path: . resources: jobs: wheel-job: name: wheel-job tasks: - task_key: wheel-task new_cluster: spark_version: 13.3.x-scala2.12 node_type_id: Standard_DS3_v2 data_security_mode: USER_ISOLATION num_workers: 1 python_wheel_task: entry_point: main package_name: my_package libraries: - whl: ./dist/*.whl targets: dev: workspace: host: <workspace-url>
قوالب الإعداد
bundle: name: my-wheel-bundle resources: jobs: wheel-job: name: wheel-job tasks: - task_key: wheel-task new_cluster: spark_version: 13.3.x-scala2.12 node_type_id: Standard_DS3_v2 data_security_mode: USER_ISOLATION num_workers: 1 python_wheel_task: entry_point: main package_name: my_package libraries: - whl: ./dist/*.whl targets: dev: workspace: host: <workspace-url>
استبدل
<workspace-url>
بعنوان URL لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net
.التعيين
artifacts
مطلوب لبناء ملفات عجلة Python مع الشعر وهو اختياري لبناء ملفات عجلة Python معsetuptools
.artifacts
يحتوي التعيين على تعريف واحد أو أكثر من تعريفات البيانات الاصطناعية مع التعيينات التالية:type
يجب أن يكون التعيين موجودا وتعيينهwhl
إلى لتحديد أن ملف عجلة Python سيتم إنشاؤه. بالنسبة إلىsetuptools
،whl
هو الافتراضي إذا لم يتم تحديد تعريفات البيانات الاصطناعية.path
يشير التعيين إلى المسار إلىpyproject.toml
ملف الشعر أو إلىsetup.py
ملف لsetuptools
. هذا المسار مرتبط بالملفdatabricks.yml
. بالنسبة إلىsetuptools
، يكون.
هذا المسار (نفس الدليل مثلdatabricks.yml
الملف) بشكل افتراضي.build
يشير التعيين إلى أي أوامر بناء مخصصة لتشغيلها لإنشاء ملف عجلة Python. بالنسبة إلىsetuptools
، يكونpython3 setup.py bdist wheel
هذا الأمر افتراضيا.files
يتكون التعيين من تعيين واحد أو أكثرsource
يحدد أي ملفات إضافية لتضمينها في بناء عجلة Python. لا يوجد افتراضي.
إشعار
إذا كنت ترغب في تثبيت ملف عجلة Python على نظام مجموعة هدف يحتوي على Databricks Runtime 12.2 LTS أو أقل مثبتا، يجب إضافة تعيين المستوى الأعلى التالي إلى
databricks.yml
الملف:# Applies to jobs with python_wheel_task and that use # clusters with Databricks Runtime 13.0 or below installed. experimental: python_wheel_wrapper: true
يرشد هذا التعيين Databricks CLI للقيام بما يلي:
- نشر نسخة من ملف عجلة Python في الخلفية. عادة ما
${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
يكون مسار النشر هذا . - إنشاء دفتر ملاحظات في الخلفية يحتوي على إرشادات لتثبيت ملف عجلة Python المنشورة السابقة على نظام المجموعة الهدف. عادة ما
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
يكون مسار دفتر الملاحظات هذا . - عند تشغيل مهمة تحتوي على مهمة عجلة Python، وهذه المهمة تشير إلى ملف عجلة Python السابق، يتم إنشاء مهمة في الخلفية التي تقوم بتشغيل دفتر الملاحظات السابق.
لا تحتاج إلى تحديد هذا التعيين للمجموعات المستهدفة مع تثبيت Databricks Runtime 13.1 أو أعلى، حيث سيتم تثبيت تثبيت عجلة Python من نظام ملفات مساحة عمل Azure Databricks تلقائيا على هذه المجموعات المستهدفة.
إذا كنت تستخدم الشعر، فقم بما يلي:
- تثبيت الشعر، الإصدار 1.6 أو أعلى، إذا لم يكن مثبتا بالفعل. للتحقق من الإصدار المثبت من الشعر، قم بتشغيل الأمر
poetry -V
أوpoetry --version
. - تأكد من تثبيت الإصدار 3.10 أو أعلى من Python. للتحقق من إصدار Python، قم بتشغيل الأمر
python -V
أوpython --version
. - تأكد من أن لديك Databricks CLI الإصدار 0.209.0 أو أعلى. إلى إصدار Databricks CLI الخاص بك، قم بتشغيل الأمر
databricks -v
أوdatabricks --version
. راجع تثبيت Databricks CLI أو تحديثه.
- تثبيت الشعر، الإصدار 1.6 أو أعلى، إذا لم يكن مثبتا بالفعل. للتحقق من الإصدار المثبت من الشعر، قم بتشغيل الأمر
إذا كنت تستخدم
setuptools
، فقم بتثبيتwheel
الحزم وsetuptools
إذا لم تكن مثبتة بالفعل، عن طريق تشغيل الأمر التالي:pip3 install --upgrade wheel setuptools
إذا كنت تنوي تخزين هذه الحزمة مع موفر Git، أضف ملفا
.gitignore
في جذر المشروع، وأضف الإدخالات التالية إلى هذا الملف:شعر
.databricks dist
قوالب الإعداد
.databricks build dist src/my_package/my_package.egg-info
الخطوة 4: التحقق من صحة ملف تكوين حزمة المشروع
في هذه الخطوة، يمكنك التحقق مما إذا كان تكوين المجموعة صالحا.
من الدليل الجذر، تحقق من صحة ملف تكوين الحزمة:
databricks bundle validate
إذا تم إرجاع ملخص لتكوين المجموعة، فنجح التحقق من الصحة. إذا تم إرجاع أي أخطاء، قم بإصلاح الأخطاء، ثم كرر هذه الخطوة.
إذا قمت بإجراء أي تغييرات على حزمتك بعد هذه الخطوة، فيجب عليك تكرار هذه الخطوة للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا.
الخطوة 5: إنشاء ملف عجلة Python ونشر المشروع المحلي إلى مساحة العمل البعيدة
أنشئ ملف عجلة Python محليا، وانشر ملف عجلة Python المضمن في مساحة العمل الخاصة بك، وانشر دفتر الملاحظات إلى مساحة العمل الخاصة بك، وأنشئ المهمة في مساحة العمل الخاصة بك:
databricks bundle deploy -t dev
الخطوة 6: تشغيل المشروع المنشور
قم بتشغيل المهمة المنشورة، والتي تستخدم دفتر الملاحظات المنشور لاستدعاء ملف عجلة Python المنشور:
databricks bundle run -t dev wheel-job
في الإخراج، انسخ والصقه
Run URL
في شريط عناوين مستعرض الويب الخاص بك.في صفحة Output لتشغيل المهمة، تظهر النتائج التالية:
200 + 400 = 600 400 - 200 = 200 200 * 400 = 80000 400 / 200 = 2.0
إذا قمت بإجراء أي تغييرات على حزمتك بعد هذه الخطوة، فيجب عليك تكرار الخطوات من 3 إلى 5 للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا، وإعادة نشر المشروع، وتشغيل المشروع المعاد توزيعه.
إنشاء ملف عجلة Python وتثبيته لوظيفة
لإنشاء ملف عجلة Python مع الشعر أو setuptools
، ثم استخدام ملف عجلة Python هذا في مهمة، يجب إضافة تعيين واحد أو اثنين إلى الملف الخاص بك databricks.yml
.
إذا كنت تستخدم الشعر، يجب تضمين التعيين التالي artifacts
في databricks.yml
الملف. يقوم هذا التعيين بتشغيل poetry build
الأمر ويستخدم pyproject.toml
الملف الموجود في نفس الدليل مثل databricks.yml
الملف:
artifacts:
default:
type: whl
build: poetry build
path: .
إشعار
artifacts
التعيين اختياري ل setuptools
. بشكل افتراضي، بالنسبة ل setuptools
Databricks CLI، يقوم بتشغيل الأمر python3 setup.py bdist_wheel
ويستخدم setup.py
الملف الموجود في نفس الدليل مثل databricks.yml
الملف. يفترض Databricks CLI أنك قمت بالفعل بتشغيل أمر مثل pip3 install --upgrade wheel setuptools
تثبيت wheel
الحزم و setuptools
إذا لم تكن مثبتة بالفعل.
أيضا، يجب أن يحتوي تعيين مهمة libraries
المهمة على whl
قيمة تحدد المسار إلى ملف عجلة Python المضمن بالنسبة إلى ملف التكوين الذي تم الإعلان عنه فيه. يوضح المثال التالي هذا في مهمة دفتر ملاحظات (تشير علامة الحذف إلى محتوى تم حذفه للإيجاز):
resources:
jobs:
my-notebook-job:
name: my-notebook-job
tasks:
- task_key: my-notebook-job-notebook-task
notebook_task:
notebook_path: ./my_notebook.py
libraries:
- whl: ./dist/*.whl
new_cluster:
# ...
إنشاء ملف عجلة Python وتثبيته للبنية الأساسية لبرنامج ربط العمليات التجارية
لإنشاء ملف عجلة Python مع الشعر أو setuptools
ثم الإشارة إلى ملف عجلة Python في مسار Delta Live Tables، يجب إضافة تعيين إلى الملف الخاص بك databricks.yml
إذا كنت تستخدم الشعر، ويجب إضافة %pip install
أمر إلى دفتر ملاحظات المسار الخاص بك، كما يلي.
إذا كنت تستخدم الشعر، يجب تضمين التعيين التالي artifacts
في databricks.yml
الملف. يقوم هذا التعيين بتشغيل poetry build
الأمر ويستخدم pyproject.toml
الملف الموجود في نفس الدليل مثل databricks.yml
الملف:
artifacts:
default:
type: whl
build: poetry build
path: .
إشعار
artifacts
التعيين اختياري ل setuptools
. بشكل افتراضي، بالنسبة ل setuptools
Databricks CLI، يقوم بتشغيل الأمر python3 setup.py bdist_wheel
ويستخدم setup.py
الملف الموجود في نفس الدليل مثل databricks.yml
الملف. يفترض Databricks CLI أنك قمت بالفعل بتشغيل أمر مثل pip3 install --upgrade wheel setuptools
تثبيت wheel
الحزم و setuptools
إذا لم تكن مثبتة بالفعل.
أيضا، يجب أن يتضمن %pip install
دفتر ملاحظات المسار ذي الصلة أمرا لتثبيت ملف عجلة Python الذي تم إنشاؤه. راجع مكتبات Python.