مشاركة عبر


تطوير ملف عجلة 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 في المصادقة.

  1. استخدم Databricks CLI لبدء إدارة الرمز المميز OAuth محليا عن طريق تشغيل الأمر التالي لكل مساحة عمل هدف.

    في الأمر التالي، استبدل <workspace-url> بعنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. يطالبك Databricks CLI بحفظ المعلومات التي أدخلتها كملف تعريف تكوين Azure Databricks. اضغط Enter لقبول اسم ملف التعريف المقترح، أو أدخل اسم ملف تعريف جديد أو موجود. تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم بالمعلومات التي أدخلتها. يمكنك استخدام ملفات التعريف لتبديل سياق المصادقة بسرعة عبر مساحات عمل متعددة.

    للحصول على قائمة بأي ملفات تعريف موجودة، في محطة طرفية منفصلة أو موجه أوامر، استخدم Databricks CLI لتشغيل الأمر databricks auth profiles. لعرض الإعدادات الموجودة لملف تعريف معين، قم بتشغيل الأمر databricks auth env --profile <profile-name>.

  3. في مستعرض الويب الخاص بك، أكمل الإرشادات التي تظهر على الشاشة لتسجيل الدخول إلى مساحة عمل Azure Databricks.

  4. لعرض قيمة رمز 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: إنشاء المجموعة

تحتوي المجموعة على البيانات الاصطناعية التي تريد نشرها وإعدادات مهام سير العمل التي تريد تشغيلها.

  1. استخدم المحطة الطرفية أو موجه الأوامر للتبديل إلى دليل على جهاز التطوير المحلي الذي سيحتوي على مجموعة القالب التي تم إنشاؤها.

  2. استخدم إصدار Databricks CLI لتشغيل bundle init الأمر:

    databricks bundle init
    
  3. بالنسبة إلى Template to use، اترك القيمة الافتراضية للضغط default-python على Enter.

  4. بالنسبة إلى Unique name for this project، اترك القيمة الافتراضية ل my_project، أو اكتب قيمة مختلفة، ثم اضغط Enterعلى . يحدد هذا اسم الدليل الجذر لهذه الحزمة. يتم إنشاء هذا الدليل الجذر داخل دليل العمل الحالي.

  5. بالنسبة إلى Include a stub (sample) notebook، حدد no واضغط Enterعلى . هذا يوجه Databricks CLI إلى عدم إضافة نموذج دفتر ملاحظات إلى مجموعتك.

  6. بالنسبة إلى Include a stub (sample) DLT pipeline، حدد no واضغط Enterعلى . هذا يرشد Databricks CLI إلى عدم تعريف نموذج مسار Delta Live Tables في مجموعتك.

  7. بالنسبة إلى 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 أو تحديثه.

قم بإجراء التغييرات التالية على حزمة المشروع:

  1. من الدليل الجذر للحزمة، اطلب poetry تهيئة بنيات عجلة Python للشعر، عن طريق تشغيل الأمر التالي:

    poetry init
    
  2. يعرض الشعر عدة مطالبات لك لإكمالها. بالنسبة إلى إصدارات عجلة Python، أجب عن هذه المطالبات كما يلي لمطابقة الإعدادات الافتراضية ذات الصلة في مجموعة المشروع:

    1. بالنسبة إلى Package name، اكتب اسم المجلد التابع ضمن /src، ثم اضغط Enterعلى . يجب أن تكون هذه أيضا قيمة الحزمة name التي تم تعريفها في ملف الحزمة setup.py .
    2. بالنسبة إلى Version، اكتب 0.0.1 واضغط Enterعلى . يطابق هذا رقم الإصدار المحدد في ملف الحزمة src/<project-name>/__init__.py .
    3. بالنسبة إلى Description، اكتب wheel file based on <project-name>/src (استبدال <project-name> باسم المشروع)، واضغط Enterعلى . يطابق description هذا القيمة المعرفة في ملف القالب setup.py .
    4. بالنسبة إلى Author، اضغط Enterعلى . تطابق هذه القيمة الافتراضية الكاتب الذي تم تعريفه في ملف القالب setup.py .
    5. بالنسبة إلى License، اضغط Enterعلى . لا يوجد ترخيص محدد في القالب.
    6. بالنسبة Compatible Python versionsإلى ، أدخل إصدار Python الذي يطابق الإصدار الموجود على مجموعات Azure Databricks الهدف (على سبيل المثال، ^3.10)، واضغط Enterعلى .
    7. بالنسبة إلى Would you like to define your main dependencies interactively? النوع no واضغط Enterعلى . ستقوم بتعريف تبعياتك لاحقا.
    8. بالنسبة إلى Would you like to define your development dependencies interactively? النوع no واضغط Enterعلى . ستقوم بتعريف تبعياتك لاحقا.
    9. Enterاضغط على Do you confirm generation? .
  3. بعد إكمال المطالبات، يضيف الشعر ملفا pyproject.toml إلى مشروع المجموعة. للحصول على pyproject.toml معلومات حول الملف، راجع ملف pyproject.toml.

  4. من الدليل الجذر للحزمة، اطلب poetry قراءة pyproject.toml الملف، وحل التبعيات وتثبيتها، وإنشاء poetry.lock ملف لتأمين التبعيات، وأخيرا لإنشاء بيئة ظاهرية. للقيام بذلك، قم بتشغيل الأمر التالي:

    poetry install
    
  5. أضف القسم التالي في نهاية pyproject.toml الملف، مع <project-name> استبدال باسم الدليل الذي يحتوي على src/<project-name>/main.py الملف (على سبيل المثال، my_project):

    [tool.poetry.scripts]
    main = "<project-name>.main:main"
    

    يحدد القسم نقطة دخول عجلة Python لمهمة عجلة Python.

  6. أضف التعيين التالي في المستوى الأعلى لملف الحزمة databricks.yml :

    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    

    يرشد هذا التعيين Databricks CLI إلى استخدام الشعر لإنشاء ملف عجلة Python.

  7. احذف الملفات setup.py و requirements-dev.txt من المجموعة، حيث لا يحتاجها الشعر.

الخطوة 5: التحقق من صحة ملف تكوين حزمة المشروع

في هذه الخطوة، يمكنك التحقق مما إذا كان تكوين المجموعة صالحا.

  1. من الدليل الجذر، استخدم Databricks CLI لتشغيل bundle validate الأمر، كما يلي:

    databricks bundle validate
    
  2. إذا تم إرجاع ملخص لتكوين المجموعة، فنجح التحقق من الصحة. إذا تم إرجاع أي أخطاء، قم بإصلاح الأخطاء، ثم كرر هذه الخطوة.

إذا قمت بإجراء أي تغييرات على حزمتك بعد هذه الخطوة، فيجب عليك تكرار هذه الخطوة للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا.

الخطوة 6: إنشاء ملف عجلة Python ونشر المشروع المحلي إلى مساحة العمل البعيدة

في هذه الخطوة، يمكنك إنشاء ملف عجلة Python، ونشر ملف عجلة Python المضمن إلى مساحة عمل Azure Databricks البعيدة، وإنشاء مهمة Azure Databricks داخل مساحة العمل الخاصة بك.

  1. إذا كنت تستخدم setuptools، فقم بتثبيت wheel الحزم و setuptools إذا لم تكن قد فعلت ذلك بالفعل، عن طريق تشغيل الأمر التالي:

    pip3 install --upgrade wheel setuptools
    
  2. في محطة Visual Studio Code الطرفية، استخدم Databricks CLI لتشغيل bundle deploy الأمر كما يلي:

    databricks bundle deploy -t dev
    
  3. إذا كنت تريد التحقق مما إذا كان قد تم نشر ملف عجلة Python الذي تم إنشاؤه محليا:

    1. في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق مساحة العمل.
    2. انقر في المجلد التالي: Workspace > Users<your-username>>> .bundle ><project-name>> dev > artifacts > .internal .><random-guid>

    يجب أن يكون ملف عجلة Python في هذا المجلد.

  4. إذا كنت تريد التحقق مما إذا كانت المهمة قد تم إنشاؤها:

    1. في الشريط الجانبي لمساحة عمل Azure Databricks، انقر فوق مهام سير العمل.
    2. على علامة التبويب مهام ، انقر فوق [dev <your-username>] <project-name>_job.
    3. انقر فوق علامة التبويب المهام.

    يجب أن تكون هناك مهمة واحدة: main_task.

إذا قمت بإجراء أي تغييرات على مجموعتك بعد هذه الخطوة، يجب تكرار الخطوات من 5 إلى 6 للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا ثم إعادة نشر المشروع.

الخطوة 7: تشغيل المشروع المنشور

في هذه الخطوة، يمكنك تشغيل وظيفة Azure Databricks في مساحة العمل الخاصة بك.

  1. من الدليل الجذر، استخدم Databricks CLI لتشغيل bundle run الأمر، كما يلي، استبدال <project-name> باسم مشروعك من الخطوة 2:

    databricks bundle run -t dev <project-name>_job
    
  2. انسخ قيمة Run URL التي تظهر في المحطة الطرفية الخاصة بك والصق هذه القيمة في مستعرض الويب لفتح مساحة عمل Azure Databricks.

  3. في مساحة عمل 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 في المصادقة.

  1. استخدم Databricks CLI لبدء إدارة الرمز المميز OAuth محليا عن طريق تشغيل الأمر التالي لكل مساحة عمل هدف.

    في الأمر التالي، استبدل <workspace-url> بعنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. يطالبك Databricks CLI بحفظ المعلومات التي أدخلتها كملف تعريف تكوين Azure Databricks. اضغط Enter لقبول اسم ملف التعريف المقترح، أو أدخل اسم ملف تعريف جديد أو موجود. تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم بالمعلومات التي أدخلتها. يمكنك استخدام ملفات التعريف لتبديل سياق المصادقة بسرعة عبر مساحات عمل متعددة.

    للحصول على قائمة بأي ملفات تعريف موجودة، في محطة طرفية منفصلة أو موجه أوامر، استخدم Databricks CLI لتشغيل الأمر databricks auth profiles. لعرض الإعدادات الموجودة لملف تعريف معين، قم بتشغيل الأمر databricks auth env --profile <profile-name>.

  3. في مستعرض الويب الخاص بك، أكمل الإرشادات التي تظهر على الشاشة لتسجيل الدخول إلى مساحة عمل Azure Databricks.

  4. لعرض قيمة رمز 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: إنشاء المجموعة

تحتوي المجموعة على البيانات الاصطناعية التي تريد نشرها وإعدادات مهام سير العمل التي تريد تشغيلها.

  1. في جذر حزمتك، قم بإنشاء المجلدات والملفات التالية، اعتمادا على ما إذا كنت تستخدم الشعر أو 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
    
  2. __init__.py اترك الملف فارغا.

  3. أضف التعليمات البرمجية 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()
    
  4. أضف التعليمات البرمجية 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
    
  5. أضف التعليمات البرمجية 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: إنشاء ملف تكوين المجموعة

يصف ملف تكوين المجموعة البيانات الاصطناعية التي تريد نشرها وسير العمل الذي تريد تشغيله.

  1. في جذر الحزمة، أضف ملف تكوين مجموعة باسم 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 تلقائيا على هذه المجموعات المستهدفة.

  2. إذا كنت تستخدم الشعر، فقم بما يلي:

    • تثبيت الشعر، الإصدار 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 أو تحديثه.
  3. إذا كنت تستخدم setuptools، فقم بتثبيت wheel الحزم و setuptools إذا لم تكن مثبتة بالفعل، عن طريق تشغيل الأمر التالي:

    pip3 install --upgrade wheel setuptools
    
  4. إذا كنت تنوي تخزين هذه الحزمة مع موفر Git، أضف ملفا .gitignore في جذر المشروع، وأضف الإدخالات التالية إلى هذا الملف:

    شعر

    .databricks
    dist
    

    قوالب الإعداد

    .databricks
    build
    dist
    src/my_package/my_package.egg-info
    

الخطوة 4: التحقق من صحة ملف تكوين حزمة المشروع

في هذه الخطوة، يمكنك التحقق مما إذا كان تكوين المجموعة صالحا.

  1. من الدليل الجذر، تحقق من صحة ملف تكوين الحزمة:

    databricks bundle validate
    
  2. إذا تم إرجاع ملخص لتكوين المجموعة، فنجح التحقق من الصحة. إذا تم إرجاع أي أخطاء، قم بإصلاح الأخطاء، ثم كرر هذه الخطوة.

إذا قمت بإجراء أي تغييرات على حزمتك بعد هذه الخطوة، فيجب عليك تكرار هذه الخطوة للتحقق مما إذا كان تكوين الحزمة لا يزال صالحا.

الخطوة 5: إنشاء ملف عجلة Python ونشر المشروع المحلي إلى مساحة العمل البعيدة

أنشئ ملف عجلة Python محليا، وانشر ملف عجلة Python المضمن في مساحة العمل الخاصة بك، وانشر دفتر الملاحظات إلى مساحة العمل الخاصة بك، وأنشئ المهمة في مساحة العمل الخاصة بك:

databricks bundle deploy -t dev

الخطوة 6: تشغيل المشروع المنشور

  1. قم بتشغيل المهمة المنشورة، والتي تستخدم دفتر الملاحظات المنشور لاستدعاء ملف عجلة Python المنشور:

    databricks bundle run -t dev wheel-job
    
  2. في الإخراج، انسخ والصقه Run URL في شريط عناوين مستعرض الويب الخاص بك.

  3. في صفحة 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.