استخدام ملف عجلة 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.

  1. احفظ هذا البرنامج النصي في ملف باسم 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'
      ]
    )
    
  2. قم بالتغيير إلى الدليل الذي أنشأته في الخطوة 1، وقم بتشغيل الأمر التالي لحزم التعليمات البرمجية الخاصة بك في توزيع عجلة Python:

    python3 setup.py bdist_wheel
    

ينشئ هذا الأمر ملف عجلة Python ويحفظه في dist/my_test_package-0.0.1-py3.none-any.whl الملف في الدليل الخاص بك.

الخطوة 5. إنشاء وظيفة Azure Databricks لتشغيل ملف عجلة Python

  1. انتقل إلى الصفحة المقصودة ل Azure Databricks وقم بأحد الإجراءات التالية:

    • في الشريط الجانبي، انقر فوق أيقونة مهام سير العمل مهام سير العمل وانقر فوق الزر .
    • في الشريط الجانبي، انقر فوق أيقونة جديدة جديد وحدد مهمة من القائمة.
  2. في مربع حوار المهمة الذي يظهر في علامة التبويب المهام ، استبدل إضافة اسم لمهمتك... باسم وظيفتك، على سبيل المثال، Python wheel example.

  3. في اسم المهمة، أدخل اسما للمهمة، على سبيل المثال، python_wheel_task.

  4. في Type، حدد Python Wheel.

  5. في اسم الحزمة، أدخل my_test_package. قيمة اسم الحزمة هي اسم حزمة Python المراد استيرادها. في هذا المثال، اسم الحزمة هو القيمة المعينة للمعلمة name في setup.py.

  6. في نقطة الإدخال، أدخل run. نقطة الإدخال هي إحدى القيم المحددة في entry_points المجموعة في setup.py البرنامج النصي. في هذا المثال، run هي نقطة الإدخال الوحيدة المعرفة.

  7. في Compute، حدد مجموعة مهام موجودة أو Add new job cluster.

  8. انقر فوق إضافة ضمن المكتبات التابعة. في مربع الحوار إضافة مكتبة تابعة، مع تحديد مساحة العمل، اسحب الملف الذي my_test_package-0.0.1-py3-none-any.whl تم إنشاؤه في الخطوة 4 إلى منطقة إسقاط الملف هنا في مربع الحوار.

  9. انقر فوق إضافة.

  10. في المعلمات، حدد الوسيطات الموضعية أو وسيطات الكلمة الأساسية لإدخال المفتاح وقيمة كل معلمة. يتم تمرير كل من وسيطات الموضع والكلمة الأساسية إلى مهمة عجلة Python كوسيطات سطر الأوامر.

    • لإدخال وسيطات موضعية، أدخل المعلمات كصفيف سلاسل بتنسيق JSON، على سبيل المثال: ["first argument","first value","second argument","second value"].
    • لإدخال وسيطات الكلمات الأساسية، انقر فوق + إضافة وأدخل مفتاحا وقيمة. انقر فوق + إضافة مرة أخرى لإدخال المزيد من الوسيطات.
  11. انقر فوق إنشاء مهمة.

الخطوة 6: تشغيل المهمة وعرض تفاصيل تشغيل الوظيفة

انقر الزر لتشغيل سير العمل. لعرض تفاصيل التشغيل، انقر فوق عرض التشغيل في النافذة المنبثقة تشغيل المشغل أو انقر فوق الارتباط في عمود وقت البدء للتشغيل في طريقة عرض تشغيل المهمة.

عند اكتمال التشغيل، يتم عرض الإخراج في لوحة الإخراج ، بما في ذلك الوسيطات التي تم تمريرها إلى المهمة.

الخطوات التالية

لمعرفة المزيد حول إنشاء وظائف Azure Databricks وتشغيلها، راجع جدولة مهام سير العمل وتنسيقها.