Jobs CLI (قديم)

هام

تم إيقاف هذه الوثائق وقد لا يتم تحديثها.

تنطبق هذه المعلومات على إصدارات Databricks CLI القديمة 0.18 والإصدارات أدناه. توصي Databricks باستخدام الإصدار 0.205 أو أحدث من Databricks CLI بدلا من ذلك. راجع ما هو Databricks CLI؟. للعثور على إصدار Databricks CLI الخاص بك، قم بتشغيل databricks -v.

للترحيل من Databricks CLI الإصدار 0.18 أو أقل إلى Databricks CLI الإصدار 0.205 أو أعلى، راجع ترحيل Databricks CLI.

يمكنك تشغيل أوامر CLI الفرعية لوظائف Databricks عن طريق إلحاقها databricks jobs ووظيفة Databricks بتشغيل أوامر CLI الفرعية عن طريق إلحاقها ب databricks runs. بالنسبة إلى أوامر CLI الفرعية لتشغيل مهمة Databricks، راجع تشغيل CLI (قديم) . معا، تستدعي هذه الأوامر الفرعية واجهة برمجة تطبيقات الوظائف وواجهة برمجة تطبيقات الوظائف 2.0.

هام

يدعم CLI وظائف Databricks الاستدعاءات إلى إصدارين من Databricks Jobs REST API: الإصداران 2.1 و2.0. يضيف الإصدار 2.1 دعما لتنسيق المهام ذات المهام المتعددة؛ راجع جدولة وتنسيق مهام سير العمل والتحديث من Jobs API 2.0 إلى 2.1. توصي Databricks باستدعاء الإصدار 2.1، ما لم يكن لديك برامج نصية قديمة تعتمد على الإصدار 2.0 ولا يمكن ترحيلها.

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

متطلبات استدعاء Jobs REST API 2.1

لإعداد واستخدام CLI وظائف Databricks (وتشغيل الوظيفة CLI) لاستدعاء Jobs REST API 2.1، قم بما يلي:

  1. تحديث CLI إلى الإصدار 0.16.0 أو أعلى.

  2. قم بأحد الإجراءات التالية:

    • تشغيل الأمر databricks jobs configure --version=2.1. يؤدي هذا إلى إضافة الإعداد jobs-api-version = 2.1 إلى الملف ~/.databrickscfg على Unix أو Linux أو macOS أو %USERPROFILE%\.databrickscfg على Windows. ستستدعي جميع أوامر CLI للوظائف (وتشغيل الوظيفة CLI) الأوامر الفرعية ل Jobs REST API 2.1 بشكل افتراضي.
    • أضف الإعداد jobs-api-version = 2.1 يدويا إلى الملف ~/.databrickscfg على Unix أو Linux أو macOS أو %USERPROFILE%\.databrickscfg على Windows. ستستدعي جميع أوامر CLI للوظائف (وتشغيل الوظيفة CLI) الأوامر الفرعية ل Jobs REST API 2.1 بشكل افتراضي.
    • قم بإلحاق الخيار --version=2.1 (على سبيل المثال، databricks jobs list --version=2.1) لإرشاد CLI الوظائف لاستدعاء Jobs REST API 2.1 لهذا الاستدعاء فقط.

    إذا لم تتخذ أيا من الإجراءات السابقة، فسيستدعي CLI الوظائف (وتشغيل الوظيفة CLI) واجهة برمجة تطبيقات REST للوظائف 2.0 بشكل افتراضي.

متطلبات استدعاء Jobs REST API 2.0

لإعداد واستخدام وظائف Databricks CLI (وتشغيل الوظيفة CLI) لاستدعاء Jobs REST API 2.0، قم بأحد الإجراءات التالية:

  • استخدم إصدارا من Databricks CLI أقل من 0.16.0، أو
  • قم بتحديث CLI إلى الإصدار X.Y.Z أو أعلى، ثم قم بأحد الإجراءات التالية:
    • تشغيل الأمر databricks jobs configure --version=2.0. يؤدي هذا إلى إضافة الإعداد jobs-api-version = 2.0 إلى الملف ~/.databrickscfg على Unix أو Linux أو macOS أو %USERPROFILE%\.databrickscfg على Windows. ستستدعي جميع أوامر CLI للوظائف (وتشغيل الوظيفة CLI) الأوامر الفرعية ل Jobs REST API 2.0 بشكل افتراضي.
    • أضف الإعداد jobs-api-version = 2.0 يدويا إلى الملف ~/.databrickscfg على Unix أو Linux أو macOS أو %USERPROFILE%\.databrickscfg على Windows. ستستدعي جميع أوامر CLI للوظائف (وتشغيل الوظيفة CLI) الأوامر الفرعية ل Jobs REST API 2.0 بشكل افتراضي.
    • ألحق الخيار --version=2.1 (على سبيل المثال، databricks jobs list --version=2.0) لإرشاد CLI الوظائف لاستدعاء Jobs REST API 2.0 لهذا الاستدعاء فقط.

إذا لم تتخذ أيا من الإجراءات السابقة، فسيستدعي CLI الوظائف (وتشغيل الوظيفة CLI) واجهة برمجة تطبيقات REST للوظائف 2.0 بشكل افتراضي.

الأوامر الفرعية والاستخدام العام

databricks jobs -h
Usage: databricks jobs [OPTIONS] COMMAND [ARGS]...

  Utility to interact with jobs.

  Job runs are handled by ``databricks runs``.

Options:
  -v, --version  [VERSION]
  -h, --help     Show this message and exit.

Commands:
  create   Creates a job.
    Options:
      --json-file PATH            File containing JSON request to POST to /api/2.0/jobs/create.
      --json JSON                 JSON string to POST to /api/2.0/jobs/create.
  delete   Deletes a job.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
  get      Describes the metadata for a job.
    Options:
    --job-id JOB_ID               Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
  list     Lists the jobs in the Databricks Job Service.
  reset    Resets (edits) the definition of a job.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
      --json-file PATH            File containing JSON request to POST to /api/2.0/jobs/create.
      --json JSON                 JSON string to POST to /api/2.0/jobs/create.
  run-now  Runs a job with optional per-run parameters.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/#job/$JOB_ID. [required]
      --jar-params JSON           JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
      --notebook-params JSON      JSON string specifying a map of key-value pairs. i.e. '{"name": "john doe", "age": 35}'
      --python-params JSON        JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
      --spark-submit-params JSON  JSON string specifying an array of parameters. i.e. '["--class", "org.apache.spark.examples.SparkPi"]'

قم بإنشاء وظيفة

لعرض وثائق الاستخدام، قم بتشغيل databricks jobs create --help.

الاستخدام العام

databricks jobs create --json-file create-job.json

ملاحظات الاستخدام وطلب المهام CLI 2.1

راجع إنشاء في التحديث من Jobs API 2.0 إلى 2.1.

مثال على الحمولة والاستجابة لطلب Jobs CLI 2.0

create-job.json:

{
  "name": "my-job",
  "existing_cluster_id": "1234-567890-reef123",
  "notebook_task": {
    "notebook_path": "/Users/someone@example.com/My Notebook"
  },
  "email_notifications": {
    "on_success": [
      "someone@example.com"
    ],
    "on_failure": [
      "someone@example.com"
    ]
  }
}
{ "job_id": 246 }

تلميح

لنسخ مهمة، قم بتشغيل create الأمر وتمرير كائن JSON مع إعدادات الوظيفة لنسخها. ينسخ هذا المثال إعدادات الوظيفة مع معرف 246 في مهمة جديدة. يتطلب الأداة المساعدة jq .

SETTINGS_JSON=$(databricks jobs get --job-id 246 | jq .settings)

databricks jobs create --json "$SETTINGS_JSON"
{ "job_id": 247 }

حذف وظيفة

لعرض وثائق الاستخدام، قم بتشغيل databricks jobs delete --help.

databricks job delete --job-id 246

إذا نجحت، فلن يتم عرض أي إخراج.

تلميح

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

databricks jobs list --output json | jq '.jobs[] | select(.settings.name == "Untitled") | .job_id' | xargs -n 1 databricks jobs delete --job-id

سرد معلومات حول وظيفة

لعرض وثائق الاستخدام، قم بتشغيل databricks jobs get --help.

الاستخدام العام

databricks jobs get --job-id 246

ملاحظات استخدام الوظائف CLI 2.1 ومثال الاستجابة

راجع الحصول على التحديث من واجهة برمجة تطبيقات الوظائف 2.0 إلى 2.1.

مثال استجابة Jobs CLI 2.0

{
  "job_id": 246,
  "settings": {
    "name": "my-job",
    "existing_cluster_id": "1234-567890-reef123",
    "email_notifications": {
      "on_success": [
        "someone@example.com"
      ],
      "on_failure": [
        "someone@example.com"
      ]
    },
    "timeout_seconds": 0,
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/My Notebook"
    },
    "max_concurrent_runs": 1
  },
  "created_time": 1620163107742,
  "creator_user_name": "someone@example.com"
}

سرد معلومات حول الوظائف المتوفرة

لعرض وثائق الاستخدام، قم بتشغيل databricks jobs list --help.

الاستخدام العام

databricks jobs list

ملاحظات استخدام الوظائف CLI 2.1 ومثال الاستجابة

راجع القائمة في التحديث من Jobs API 2.0 إلى 2.1.

مثال استجابة Jobs CLI 2.0

{
  "jobs": [
    {
      "job_id": 246,
      "settings": {
        "name": "my-job",
        "existing_cluster_id": "1234-567890-reef123",
        "email_notifications": {
          "on_success": [
            "someone@example.com"
          ],
          "on_failure": [
            "someone@example.com"
          ]
        },
        "timeout_seconds": 0,
        "notebook_task": {
          "notebook_path": "/Users/someone@example.com/My Notebook"
        },
        "max_concurrent_runs": 1
      },
      "created_time": 1620163107742,
      "creator_user_name": "someone@example.com"
    },
    ...
  ]
}

سرد جميع المهام (API 2.1 فقط)

لإرشاد CLI لإرجاع جميع المهام عن طريق إجراء استدعاءات متتالية إلى واجهة برمجة التطبيقات، استخدم --all الخيار . لاستخدام --all الخيار، يجب تعيين إصدار واجهة برمجة التطبيقات إلى 2.1.

databricks jobs list --all

صفحة قائمة المهام (API 2.1 فقط)

لإرجاع قائمة مهام مرقمة الصفحات، استخدم --limit الوسيطتين و --offset . بشكل افتراضي، يتم إرجاع قائمة المهام كجدول يحتوي على معرف الوظيفة واسم الوظيفة. لإرجاع مستند JSON يحتوي على معلومات مهمة اختياريا، استخدم الوسيطة --output JSON .

لاستخدام --limit الوسيطتين و --offset ، يجب تعيين إصدار واجهة برمجة التطبيقات إلى 2.1.

عند استخدام --output JSON، يتم إرجاع القائمة بترتيب تنازلي حسب تاريخ إنشاء الوظيفة. عند استخدام --output TABLE، يتم إرجاع القائمة بترتيب تنازلي حسب تاريخ إنشاء الوظيفة ثم يتم فرزها أبجديا حسب اسم الوظيفة.

صفحات المثال التالية من خلال قائمة الوظائف 10 وظائف في كل مرة وإرجاع النتائج بتنسيق JSON:

databricks jobs list --output JSON --limit 10
databricks jobs list --output JSON --limit 10 --offset 10
databricks jobs list --output JSON --limit 10 --offset 20

تغيير الإعدادات لوظيفة

لعرض وثائق الاستخدام، قم بتشغيل databricks jobs reset --help.

الاستخدام العام

databricks jobs reset --job-id 246 --json-file reset-job.json

ملاحظات الاستخدام وطلب المهام CLI 2.1

راجع التحديث وإعادة التعيين في التحديث من Jobs API 2.0 إلى 2.1.

مثال طلب Jobs CLI 2.0

reset-job.json:

{
  "job_id": 246,
  "existing_cluster_id": "2345-678901-batch234",
  "name": "my-changed-job",
  "notebook_task": {
    "notebook_path": "/Users/someone@example.com/My Other Notebook"
  },
  "email_notifications": {
    "on_success": [
      "someone-else@example.com"
    ],
    "on_failure": [
      "someone-else@example.com"
    ]
  }
}

إذا نجحت، فلن يتم عرض أي إخراج.

تشغيل وظيفة

لعرض وثائق الاستخدام، قم بتشغيل databricks jobs run-now --help.

databricks jobs run-now --job-id 246
{
  "run_id": 122,
  "number_in_job": 1
}