تبعيات مكتبة Databricks Asset Bundles

تصف هذه المقالة بناء الجملة للإعلان عن تبعيات مكتبة Databricks Asset Bundles. تمكن الحزم الإدارة البرمجية لسير عمل Azure Databricks. راجع ما هي حزم أصول Databricks؟.

بالإضافة إلى دفاتر الملاحظات، من المحتمل أن تعتمد مهام Azure Databricks على المكتبات من أجل العمل كما هو متوقع. يتم تحديد تبعيات Databricks Asset Bundles للتطوير المحلي في requirements*.txt الملف الموجود في جذر مشروع الحزمة، ولكن يتم الإعلان عن تبعيات مكتبة مهام الوظيفة في ملفات تكوين الحزمة وغالبا ما تكون ضرورية كجزء من مواصفات نوع مهمة الوظيفة.

توفر الحزم الدعم لتبعيات المكتبة التالية لوظائف Azure Databricks:

  • ملف عجلة Python
  • ملف JAR (Java أو Scala)
  • حزم PyPI أو Maven أو CRAN

إشعار

يعتمد ما إذا كانت المكتبة معتمدة أم لا على تكوين نظام المجموعة للوظيفة ومصدر المكتبة. للحصول على معلومات دعم المكتبة الكاملة، راجع المكتبات.

ملف عجلة Python

لإضافة ملف عجلة Python إلى مهمة مهمة، في libraries تحديد تعيين whl لكل مكتبة ليتم تثبيتها. يمكنك تثبيت ملف عجلة من ملفات مساحة العمل أو وحدات تخزين كتالوج Unity أو تخزين كائن السحابة أو مسار ملف محلي.

هام

يمكن تثبيت المكتبات من DBFS عند استخدام Databricks Runtime 14.3 LTS وما دونه. ومع ذلك، يمكن لأي مستخدم مساحة عمل تعديل ملفات المكتبة المخزنة في DBFS. لتحسين أمان المكتبات في مساحة عمل Azure Databricks، يتم إهمال تخزين ملفات المكتبات في جذر DBFS وتعطيلها بشكل افتراضي في Databricks Runtime 15.1 وما فوق. راجع إهمال وتعطيل تخزين المكتبات في جذر DBFS بشكل افتراضي.

بدلا من ذلك، توصي Databricks بتحميل جميع المكتبات، بما في ذلك مكتبات Python وملفات JAR وموصلات Spark، إلى ملفات مساحة العمل أو وحدات تخزين كتالوج Unity، أو استخدام مستودعات حزم المكتبات. إذا كان حمل العمل الخاص بك لا يدعم هذه الأنماط، يمكنك أيضا استخدام المكتبات المخزنة في تخزين الكائنات السحابية.

يوضح المثال التالي كيفية تثبيت ثلاثة ملفات عجلة Python لمهمة مهمة.

  • تم تحميل ملف عجلة Python الأول إما مسبقا إلى مساحة عمل Azure Databricks أو إضافته كعنصر include في sync التعيين، وهو في نفس المجلد المحلي مثل ملف تكوين الحزمة.
  • يوجد ملف عجلة Python الثاني في موقع ملفات مساحة العمل المحددة في مساحة عمل Azure Databricks.
  • تم تحميل ملف عجلة Python الثالث مسبقا إلى وحدة التخزين المسماة my-volume في مساحة عمل Azure Databricks.
resources:
  jobs:
    my_job:
      # ...
      tasks:
        - task_key: my_task
          # ...
          libraries:
            - whl: ./my-wheel-0.1.0.whl
            - whl: /Workspace/Shared/Libraries/my-wheel-0.0.1-py3-none-any.whl
            - whl: /Volumes/main/default/my-volume/my-wheel-0.1.0.whl

ملف JAR

لإضافة ملف JAR إلى مهمة مهمة، في libraries تحديد تعيين jar لكل مكتبة ليتم تثبيتها. يمكنك تثبيت JAR من ملفات مساحة العمل أو وحدات تخزين كتالوج Unity أو تخزين كائن السحابة أو مسار ملف محلي.

هام

يمكن تثبيت المكتبات من DBFS عند استخدام Databricks Runtime 14.3 LTS وما دونه. ومع ذلك، يمكن لأي مستخدم مساحة عمل تعديل ملفات المكتبة المخزنة في DBFS. لتحسين أمان المكتبات في مساحة عمل Azure Databricks، يتم إهمال تخزين ملفات المكتبات في جذر DBFS وتعطيلها بشكل افتراضي في Databricks Runtime 15.1 وما فوق. راجع إهمال وتعطيل تخزين المكتبات في جذر DBFS بشكل افتراضي.

بدلا من ذلك، توصي Databricks بتحميل جميع المكتبات، بما في ذلك مكتبات Python وملفات JAR وموصلات Spark، إلى ملفات مساحة العمل أو وحدات تخزين كتالوج Unity، أو استخدام مستودعات حزم المكتبات. إذا كان حمل العمل الخاص بك لا يدعم هذه الأنماط، يمكنك أيضا استخدام المكتبات المخزنة في تخزين الكائنات السحابية.

يوضح المثال التالي كيفية تثبيت ملف JAR الذي تم تحميله مسبقا إلى وحدة التخزين المسماة my-volume في مساحة عمل Azure Databricks.

resources:
  jobs:
    my_job:
      # ...
      tasks:
        - task_key: my_task
          # ...
          libraries:
            - jar: /Volumes/main/default/my-volume/my-java-library-1.0.jar

حزمة PyPI

لإضافة حزمة PyPI إلى تعريف مهمة مهمة، في libraries، حدد تعيينا pypi لكل حزمة PyPI ليتم تثبيتها. لكل تعيين، حدد ما يلي:

  • بالنسبة إلى package، حدد اسم حزمة PyPI المراد تثبيتها. يتم أيضا دعم مواصفات الإصدار الدقيق الاختيارية.
  • اختياريا، بالنسبة إلى repo، حدد المستودع حيث يمكن العثور على حزمة PyPI. إذا لم يتم تحديده، يتم استخدام الفهرس الافتراضي pip (https://pypi.org/simple/).

يوضح المثال التالي كيفية تثبيت حزمتي PyPI.

  • تستخدم حزمة PyPI الأولى إصدار الحزمة المحدد والفهرس الافتراضي pip .
  • تستخدم حزمة PyPI الثانية إصدار الحزمة المحدد والفهرس المحدد pip بشكل صريح.
resources:
  jobs:
    my_job:
      # ...
      tasks:
        - task_key: my_task
          # ...
          libraries:
            - pypi:
                package: wheel==0.41.2
            - pypi:
                package: numpy==1.25.2
                repo: https://pypi.org/simple/

حزمة Maven

لإضافة حزمة Maven إلى تعريف مهمة مهمة، في libraries، حدد تعيينا maven لكل حزمة Maven ليتم تثبيتها. لكل تعيين، حدد ما يلي:

  • بالنسبة إلى coordinates، حدد إحداثيات Maven على نمط Gradle للحزمة.
  • اختياريا، بالنسبة إلى repo، حدد مستودع Maven لتثبيت حزمة Maven منها. إذا تم حذفه، يتم البحث في كل من مستودع Maven Central ومستودع حزم Spark.
  • اختياريا، بالنسبة إلى exclusions، حدد أي تبعيات لاستبعادها بشكل صريح. راجع استثناءات تبعية Maven.

يوضح المثال التالي كيفية تثبيت حزمتي Maven.

  • تستخدم حزمة Maven الأولى إحداثيات الحزمة المحددة وتبحث عن هذه الحزمة في كل من مستودع Maven Central ومستودع حزم Spark.
  • تستخدم حزمة Maven الثانية إحداثيات الحزمة المحددة، وتبحث عن هذه الحزمة فقط في مستودع Maven المركزي، ولا تتضمن أي من تبعيات هذه الحزمة التي تطابق النمط المحدد.
resources:
  jobs:
    my_job:
      # ...
      tasks:
        - task_key: my_task
          # ...
          libraries:
            - maven:
                coordinates: com.databricks:databricks-sdk-java:0.8.1
            - maven:
                coordinates: com.databricks:databricks-dbutils-scala_2.13:0.1.4
                repo: https://mvnrepository.com/
                exclusions:
                  - org.scala-lang:scala-library:2.13.0-RC*