استخدام ملف عجلة Python في مهمة Azure Databricks
ملف عجلة Python هو طريقة قياسية لحزم وتوزيع الملفات المطلوبة لتشغيل تطبيق Python. باستخدام مهمة عجلة Python، يمكنك التأكد من التثبيت السريع والموثوق للتعليمات البرمجية ل Python في مهام Azure Databricks. توفر هذه المقالة مثالا على إنشاء ملف عجلة Python ووظيفة تقوم بتشغيل التطبيق المحزم في ملف عجلة Python. في هذا المثال، سوف:
- إنشاء ملفات Python التي تعرف تطبيق مثال.
- تجميع ملفات المثال في ملف عجلة Python.
- إنشاء مهمة لتشغيل ملف عجلة Python.
- قم بتشغيل المهمة وعرض النتائج.
قبل البدء
تحتاج إلى ما يلي لإكمال هذا المثال:
Python3
Python
wheel
والحزمsetuptool
. يمكنك استخدامpip
لتثبيت هذه الحزم. على سبيل المثال، يمكنك تشغيل الأمر التالي لتثبيت هذه الحزم:pip install wheel setuptools
الخطوة 1: إنشاء دليل محلي للمثال
إنشاء دليل محلي للاحتفاظ بمثال التعليمات البرمجية والبيانات الاصطناعية التي تم إنشاؤها، على سبيل المثال، databricks_wheel_test
.
الخطوة 2: إنشاء مثال برنامج Python النصي
مثال Python التالي هو برنامج نصي بسيط يقرأ وسيطات الإدخال ويطبع تلك الوسيطات. انسخ هذا البرنامج النصي واحفظه في مسار يسمى my_test_code/__main__.py
في الدليل الذي أنشأته في الخطوة السابقة.
"""
The entry point of the Python Wheel
"""
import sys
def main():
# This method will print the provided arguments
print('Hello from my func')
print('Got arguments:')
print(sys.argv)
if __name__ == '__main__':
main()
الخطوة 3: إنشاء ملف بيانات تعريف للحزمة
يحتوي الملف التالي على بيانات تعريف تصف الحزمة. احفظ هذا إلى مسار يسمى my_test_code/__init__.py
في الدليل الذي أنشأته في الخطوة 1.
__version__ = "0.0.1"
__author__ = "Databricks"
الخطوة 4: إنشاء ملف عجلة Python
يتطلب تحويل البيانات الاصطناعية ل Python إلى ملف عجلة Python تحديد بيانات تعريف الحزمة مثل اسم الحزمة ونقاط الإدخال. يعرف البرنامج النصي التالي بيانات التعريف هذه.
إشعار
entry_points
يتم استخدام المعرف في هذا البرنامج النصي لتشغيل الحزمة في سير عمل Azure Databricks. في كل قيمة في entry_points
، القيمة السابقة =
(في هذا المثال، run
) هي اسم نقطة الإدخال ويتم استخدامها لتكوين مهمة عجلة Python.
احفظ هذا البرنامج النصي في ملف باسم
setup.py
في جذر الدليل الذي أنشأته في الخطوة 1:from setuptools import setup, find_packages import my_test_code setup( name='my_test_package', version=my_test_code.__version__, author=my_test_code.__author__, url='https://databricks.com', author_email='john.doe@databricks.com', description='my test wheel', packages=find_packages(include=['my_test_code']), entry_points={ 'group_1': 'run=my_test_code.__main__:main' }, install_requires=[ 'setuptools' ] )
قم بالتغيير إلى الدليل الذي أنشأته في الخطوة 1، وقم بتشغيل الأمر التالي لحزم التعليمات البرمجية الخاصة بك في توزيع عجلة Python:
python3 setup.py bdist_wheel
ينشئ هذا الأمر ملف عجلة Python ويحفظه في dist/my_test_package-0.0.1-py3.none-any.whl
الملف في الدليل الخاص بك.
الخطوة 5. إنشاء وظيفة Azure Databricks لتشغيل ملف عجلة Python
انتقل إلى الصفحة المقصودة ل Azure Databricks وقم بأحد الإجراءات التالية:
- في الشريط الجانبي، انقر فوق مهام سير العمل وانقر فوق .
- في الشريط الجانبي، انقر فوق جديد وحدد مهمة من القائمة.
في مربع حوار المهمة الذي يظهر في علامة التبويب المهام ، استبدل إضافة اسم لمهمتك... باسم وظيفتك، على سبيل المثال،
Python wheel example
.في اسم المهمة، أدخل اسما للمهمة، على سبيل المثال،
python_wheel_task
.في Type، حدد Python Wheel.
في اسم الحزمة، أدخل
my_test_package
. قيمة اسم الحزمة هي اسم حزمة Python المراد استيرادها. في هذا المثال، اسم الحزمة هو القيمة المعينة للمعلمةname
فيsetup.py
.في نقطة الإدخال، أدخل
run
. نقطة الإدخال هي إحدى القيم المحددة فيentry_points
المجموعة فيsetup.py
البرنامج النصي. في هذا المثال،run
هي نقطة الإدخال الوحيدة المعرفة.في Compute، حدد مجموعة مهام موجودة أو Add new job cluster.
انقر فوق إضافة ضمن المكتبات التابعة. في مربع الحوار إضافة مكتبة تابعة، مع تحديد مساحة العمل، اسحب الملف الذي
my_test_package-0.0.1-py3-none-any.whl
تم إنشاؤه في الخطوة 4 إلى منطقة إسقاط الملف هنا في مربع الحوار.انقر فوق إضافة.
في المعلمات، حدد الوسيطات الموضعية أو وسيطات الكلمة الأساسية لإدخال المفتاح وقيمة كل معلمة. يتم تمرير كل من وسيطات الموضع والكلمة الأساسية إلى مهمة عجلة Python كوسيطات سطر الأوامر.
- لإدخال وسيطات موضعية، أدخل المعلمات كصفيف سلاسل بتنسيق JSON، على سبيل المثال:
["first argument","first value","second argument","second value"]
. - لإدخال وسيطات الكلمات الأساسية، انقر فوق + إضافة وأدخل مفتاحا وقيمة. انقر فوق + إضافة مرة أخرى لإدخال المزيد من الوسيطات.
- لإدخال وسيطات موضعية، أدخل المعلمات كصفيف سلاسل بتنسيق JSON، على سبيل المثال:
انقر فوق إنشاء مهمة.
الخطوة 6: تشغيل المهمة وعرض تفاصيل تشغيل الوظيفة
انقر لتشغيل سير العمل. لعرض تفاصيل التشغيل، انقر فوق عرض التشغيل في النافذة المنبثقة تشغيل المشغل أو انقر فوق الارتباط في عمود وقت البدء للتشغيل في طريقة عرض تشغيل المهمة.
عند اكتمال التشغيل، يتم عرض الإخراج في لوحة الإخراج ، بما في ذلك الوسيطات التي تم تمريرها إلى المهمة.
الخطوات التالية
لمعرفة المزيد حول إنشاء وظائف Azure Databricks وتشغيلها، راجع جدولة مهام سير العمل وتنسيقها.