Поделиться через


Cli заданий (устаревшая версия)

Внимание

Поддержка этой документации прекращена, она может больше не обновляться.

Эта информация относится к устаревшим интерфейсам командной строки Databricks версии 0.18 и ниже. Databricks рекомендует использовать более новую версию Интерфейса командной строки Databricks версии 0.205 или более поздней. См. сведения о интерфейсе командной строки Databricks?. Чтобы найти версию интерфейса командной строки Databricks, выполните команду databricks -v.

Сведения о миграции из Databricks CLI версии 0.18 или ниже в Databricks CLI версии 0.205 или более поздней, см. в статье Databricks CLI.

Для выполнения подкоманд CLI для заданий Databricks добавьте их к databricks jobs. Задание Databricks запускает подкоманды CLI, добавляя их к databricks runs. Для задания Databricks выполняется подкомандам CLI, см. интерфейс командной строки (устаревшая версия). Вместе эти подкоманда вызывают API заданий и API заданий 2.0.

Внимание

CLI заданий Databricks поддерживает вызовы двух версий Databricks Jobs REST API: версии 2.1 и 2.0. Версия 2.1 добавляет поддержку оркестрации заданий с несколькими задачами; см. статью "Планирование и оркестрация рабочих процессов" и обновление с 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 запусков заданий) по умолчанию вызывает Jobs REST API 2.0.

Требования для вызова Jobs REST API 2.0

Чтобы настроить и использовать CLI заданий Databricks (и CLI запусков заданий) для вызова Jobs REST API 2.0, выполните одно из указанных ниже действий.

  • Используйте версию CLI Databricks ранее 0.16.0, либо
  • Обновите интерфейс командной строки до версии 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 запусков заданий) по умолчанию вызывает Jobs REST API 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 и пример запроса

См. статью "Создание в обновлении с API заданий 2.0 до версии 2.1".

Пример запроса и ответа 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 и пример ответа

См. сведения об обновлении API заданий 2.0 до версии 2.1.

Пример ответа 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 и пример ответа

См . список обновлений API заданий 2.0 до версии 2.1.

Пример ответа 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)

Чтобы указать ИНТЕРФЕЙС командной строки возвращать все задания, выполняя последовательные вызовы API, используйте --all этот параметр. Чтобы использовать --all этот параметр, необходимо задать версию API 2.1.

databricks jobs list --all

Страница списка заданий (только API 2.1)

Чтобы вернуть список заданий с разбивкой на страницы, используйте --limit аргументы.--offset По умолчанию список заданий возвращается в виде таблицы, содержащей идентификатор задания и имя задания. Чтобы при необходимости вернуть документ JSON, содержащий сведения о задании --output JSON , используйте аргумент.

Чтобы использовать --limit аргументы и --offset аргументы, необходимо задать версию API 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 и пример запроса

См. сведения об обновлении и сбросе с API заданий 2.0 до версии 2.1.

Пример запроса 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
}