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, выполните указанные ниже действия.
Обновите CLI до версии 0.16.0 или более поздней.
Выполните одно из следующих действий:
- Выполните команду
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
}