مشاركة عبر


إضافة مهام إلى الوظائف في حزم أصول Databricks

توفر هذه المقالة أمثلة على أنواع مختلفة من المهام التي يمكنك إضافتها إلى وظائف Azure Databricks في حزم أصول Databricks. راجع ما هي حزم أصول Databricks؟.

تحتوي معظم أنواع مهام الوظائف على معلمات خاصة بالمهمة بين إعداداتها المدعومة، ولكن يمكنك أيضا تحديد معلمات الوظيفة التي يتم تمريرها إلى المهام. يتم دعم مراجع القيمة الديناميكية لمعلمات الوظيفة، والتي تمكن تمرير القيم الخاصة بتشغيل الوظيفة بين المهام. راجع ما هو مرجع القيمة الديناميكية؟.

إشعار

يمكنك تجاوز إعدادات مهمة الوظيفة. راجع تجاوز إعدادات مهام الوظيفة في حزم أصول Databricks.

تلميح

لإنشاء تكوين مورد بسرعة لوظيفة موجودة باستخدام Databricks CLI، يمكنك استخدام bundle generate job الأمر . راجع أوامر المجموعة.

مهمة دفتر الملاحظات

يمكنك استخدام هذه المهمة لتشغيل دفتر ملاحظات.

يضيف المثال التالي مهمة دفتر ملاحظات إلى مهمة ويعين معلمة مهمة تسمى my_job_run_id. المسار الخاص بدفتر الملاحظات المراد نشره مرتبط بملف التكوين الذي تم الإعلان عن هذه المهمة فيه. تحصل المهمة على دفتر الملاحظات من موقعه المنشور في مساحة عمل Azure Databricks. (تشير علامات الحذف إلى محتوى محذف، للإيجاز.)

# ...
resources:
  jobs:
    my-notebook-job:
      name: my-notebook-job
      # ...
      tasks:
        - task_key: my-notebook-task
          notebook_task:
            notebook_path: ./my-notebook.ipynb
      parameters:
        - name: my_job_run_id
          default: "{{job.run_id}}"
        # ...
# ...

للحصول على تعيينات إضافية يمكنك تعيينها لهذه المهمة، راجع tasks > notebook_task في حمولة طلب عملية إنشاء الوظيفة كما هو محدد في POST /api/2.1/jobs/create في مرجع REST API، المعبر عنه بتنسيق YAML. راجع مهمة دفتر الملاحظات للوظائف.

مهمة البرنامج النصي Python

يمكنك استخدام هذه المهمة لتشغيل ملف Python.

يضيف المثال التالي مهمة برنامج Python النصي إلى وظيفة. المسار الخاص بملف Python لنشره مرتبط بملف التكوين الذي تم الإعلان عن هذه المهمة فيه. تحصل المهمة على ملف Python من موقعه المنشور في مساحة عمل Azure Databricks. (تشير علامات الحذف إلى محتوى محذف، للإيجاز.)

# ...
resources:
  jobs:
    my-python-script-job:
      name: my-python-script-job
      # ...
      tasks:
        - task_key: my-python-script-task
          spark_python_task:
            python_file: ./my-script.py
          # ...
# ...

للحصول على تعيينات إضافية يمكنك تعيينها لهذه المهمة، راجع tasks > spark_python_task في حمولة طلب عملية إنشاء الوظيفة كما هو محدد في POST /api/2.1/jobs/create في مرجع REST API، المعبر عنه بتنسيق YAML. راجع أيضا مهمة البرنامج النصي Python للوظائف.

مهمة عجلة Python

يمكنك استخدام هذه المهمة لتشغيل ملف عجلة Python.

يضيف المثال التالي مهمة عجلة Python إلى وظيفة. المسار الخاص بملف عجلة Python لنشره مرتبط بملف التكوين الذي تم الإعلان عن هذه المهمة فيه. راجع تبعيات مكتبة حزم أصول Databricks. (تشير علامات الحذف إلى محتوى محذف، للإيجاز.)

# ...
resources:
  jobs:
    my-python-wheel-job:
      name: my-python-wheel-job
      # ...
      tasks:
        - task_key: my-python-wheel-task
          python_wheel_task:
            entry_point: run
            package_name: my_package
          libraries:
            - whl: ./my_package/dist/my_package-*.whl
          # ...
# ...

للحصول على تعيينات إضافية يمكنك تعيينها لهذه المهمة، راجع tasks > python_wheel_task في حمولة طلب عملية إنشاء الوظيفة كما هو محدد في POST /api/2.1/jobs/create في مرجع REST API، المعبر عنه بتنسيق YAML. راجع أيضا تطوير ملف عجلة Python باستخدام Databricks Asset Bundles ومهمة Python Wheel للوظائف.

مهمة JAR

يمكنك استخدام هذه المهمة لتشغيل JAR. يمكنك الرجوع إلى مكتبات JAR المحلية أو تلك الموجودة في مساحة عمل أو وحدة تخزين كتالوج Unity أو موقع تخزين سحابي خارجي. راجع تبعيات مكتبة حزم أصول Databricks.

يضيف المثال التالي مهمة JAR إلى وظيفة. مسار JAR هو إلى موقع وحدة التخزين المحددة. (تشير علامات الحذف إلى محتوى محذف، للإيجاز.)

# ...
resources:
  jobs:
    my-jar-job:
      name: my-jar-job
      # ...
      tasks:
        - task_key: my-jar-task
          spark_jar_task:
            main_class_name: org.example.com.Main
          libraries:
            - jar: /Volumes/main/default/my-volume/my-project-0.1.0-SNAPSHOT.jar
          # ...
# ...

للحصول على تعيينات إضافية يمكنك تعيينها لهذه المهمة، راجع tasks > spark_jar_task في حمولة طلب عملية إنشاء الوظيفة كما هو محدد في POST /api/2.1/jobs/create في مرجع REST API، المعبر عنه بتنسيق YAML. راجع مهمة JAR للوظائف.

مهمة ملف SQL

يمكنك استخدام هذه المهمة لتشغيل ملف SQL موجود في مساحة عمل أو مستودع Git بعيد.

يضيف المثال التالي مهمة ملف SQL إلى مهمة. تستخدم مهمة ملف SQL هذه مستودع SQL المحدد لتشغيل ملف SQL المحدد. (تشير علامات الحذف إلى محتوى محذف، للإيجاز.)

# ...
resources:
  jobs:
    my-sql-file-job:
      name: my-sql-file-job
      # ...
      tasks:
        - task_key: my-sql-file-task
          sql_task:
            file:
              path: /Users/someone@example.com/hello-world.sql
              source: WORKSPACE
            warehouse_id: 1a111111a1111aa1
          # ...
# ...

للحصول على معرف مستودع SQL، افتح صفحة إعدادات مستودع SQL، ثم انسخ المعرف الموجود بين أقواس بعد اسم المستودع في حقل الاسم في علامة التبويب نظرة عامة .

للحصول على تعيينات إضافية يمكنك تعيينها لهذه المهمة، راجع tasks > sql_task > file في حمولة طلب عملية إنشاء الوظيفة كما هو محدد في POST /api/2.1/jobs/create في مرجع REST API، المعبر عنه بتنسيق YAML. راجع مهمة SQL للوظائف.

مهمة مسار Delta Live Tables

يمكنك استخدام هذه المهمة لتشغيل مسار Delta Live Tables. راجع ما هي جداول Delta Live؟.

يضيف المثال التالي مهمة مسار Delta Live Tables إلى مهمة. تقوم مهمة مسار Delta Live Tables هذه بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية المحددة. (تشير علامات الحذف إلى محتوى محذف، للإيجاز.)

# ...
resources:
  jobs:
    my-pipeline-job:
      name: my-pipeline-job
      # ...
      tasks:
        - task_key: my-pipeline-task
          pipeline_task:
            pipeline_id: 11111111-1111-1111-1111-111111111111
          # ...
# ...

يمكنك الحصول على معرف البنية الأساسية لبرنامج ربط العمليات التجارية عن طريق فتح البنية الأساسية لبرنامج ربط العمليات التجارية في مساحة العمل ونسخ قيمة معرف البنية الأساسية لبرنامج ربط العمليات التجارية في علامة التبويب تفاصيل البنية الأساسية لبرنامج ربط العمليات التجارية لصفحة إعدادات المسار.

للحصول على تعيينات إضافية يمكنك تعيينها لهذه المهمة، راجع tasks > pipeline_task في حمولة طلب عملية إنشاء الوظيفة كما هو محدد في POST /api/2.1/jobs/create في مرجع REST API، المعبر عنه بتنسيق YAML. راجع مهمة البنية الأساسية لبرنامج ربط العمليات التجارية Delta Live Tables للوظائف.

مهمة dbt

يمكنك استخدام هذه المهمة لتشغيل أمر dbt واحد أو أكثر. راجع الاتصال ب dbt Cloud.

يضيف المثال التالي مهمة dbt إلى وظيفة. تستخدم مهمة dbt هذه مستودع SQL المحدد لتشغيل أوامر dbt المحددة.

# ...
resources:
  jobs:
    my-dbt-job:
      name: my-dbt-job
      # ...
      tasks:
        - task_key: my-dbt-task
          dbt_task:
            commands:
              - "dbt deps"
              - "dbt seed"
              - "dbt run"
            project_directory: /Users/someone@example.com/Testing
            warehouse_id: 1a111111a1111aa1
          libraries:
            - pypi:
                package: "dbt-databricks>=1.0.0,<2.0.0"
          # ...
# ...

للحصول على معرف مستودع SQL، افتح صفحة إعدادات مستودع SQL، ثم انسخ المعرف الموجود بين أقواس بعد اسم المستودع في حقل الاسم في علامة التبويب نظرة عامة .

للحصول على تعيينات إضافية يمكنك تعيينها لهذه المهمة، راجع tasks > dbt_task في حمولة طلب عملية إنشاء الوظيفة كما هو محدد في POST /api/2.1/jobs/create في مرجع REST API، المعبر عنه بتنسيق YAML. راجع مهمة dbt للوظائف.

تتضمن dbt-sql حزم أصول Databricks أيضا قالب مشروع يحدد وظيفة ذات مهمة dbt، بالإضافة إلى ملفات تعريف dbt لوظائف dbt المنشورة. للحصول على معلومات حول قوالب حزم أصول Databricks، راجع استخدام قالب حزمة افتراضي.

تشغيل مهمة المهمة

يمكنك استخدام هذه المهمة لتشغيل مهمة أخرى.

يحتوي المثال التالي على مهمة تشغيل في المهمة الثانية التي تقوم بتشغيل المهمة الأولى.

# ...
resources:
  jobs:
    my-first-job:
      name: my-first-job
      tasks:
        - task_key: my-first-job-task
          new_cluster:
            spark_version: "13.3.x-scala2.12"
            node_type_id: "i3.xlarge"
            num_workers: 2
          notebook_task:
            notebook_path: ./src/test.py
    my_second_job:
      name: my-second-job
      tasks:
        - task_key: my-second-job-task
          run_job_task:
            job_id: ${resources.jobs.my-first-job.id}
  # ...

يستخدم هذا المثال استبدالا لاسترداد معرف المهمة لتشغيلها. للحصول على معرف الوظيفة من واجهة المستخدم، افتح المهمة في مساحة العمل وانسخ المعرف من قيمة معرف الوظيفة في علامة التبويب تفاصيل الوظيفة في صفحة إعدادات الوظائف.

للحصول على تعيينات إضافية يمكنك تعيينها لهذه المهمة، راجع tasks > run_job_task في حمولة طلب عملية إنشاء الوظيفة كما هو محدد في POST /api/2.1/jobs/create في مرجع REST API، المعبر عنه بتنسيق YAML.