ジョブ CLI (レガシー)
このドキュメントは廃止されており、更新されない可能性があります。
この情報は、従来の Databricks CLI バージョン 0.18 以下に適用されます。 Databricks では、代わりに新しい Databricks CLI バージョン 0.205 以降を使用することをお勧めします。 「Databricks CLI とは」を参照してください。Databricks CLI のバージョンを確認するには、 databricks -v
を実行します。
Databricks CLI バージョン 0.18 以前から Databricks CLI バージョン 0.205 以降に移行するには、「 Databricks CLI の移行」を参照してください。
Databricks ジョブ CLI サブコマンドを実行するには、サブコマンドを databricks jobs
に追加しDatabricksジョブの実行CLIサブコマンドを databricks runs
に追加することで実行します。Databricks ジョブの実行CLIサブコマンドについては、実行CLI (レガシー) を参照してください。これらのサブコマンドは、 Jobs API と Jobs API 2.0 を一緒に呼び出します。
Databricks ジョブ CLI は、Databricks ジョブ REST API の 2 つのバージョン (バージョン 2.1 と 2.0) の呼び出しをサポートしています。バージョン 2.1 では、複数のタスクを持つジョブのオーケストレーションのサポートが追加されています。Databricksジョブを使用したオーケストレーションおよびジョブ API 2.0 から 2.1 への更新を参照してください。Databricks では、バージョン 2.0 に依存し、移行できないレガシ スクリプトがない限り、バージョン 2.1 を呼び出すことをお勧めします。
特に指定がない限り、この記事で説明するプログラムの動作は、バージョン 2.1 と 2.0 に等しく適用されます。
ジョブ REST API 2.1 を呼び出すための要件
Databricks ジョブ CLI (およびジョブ 実行 CLIU ) を設定して使用し、ジョブを 2.1 REST API呼び出すには、次の操作を行います。
-
CLI をバージョン 0.16.0 以降に更新します。
-
以下のいずれかを実行します。
databricks jobs configure --version=2.1
コマンドを実行します。これにより、Unix、Linux、macOSではファイル~/.databrickscfg
、Windowsでは%USERPROFILE%\.databrickscfg
に設定jobs-api-version = 2.1
が追加されます。すべてのジョブ CLI (およびジョブ 実行 CLI) サブコマンドは、デフォルトによって Jobs REST API 2.1 を呼び出します。- 設定
jobs-api-version = 2.1
をファイル~/.databrickscfg
Unix、Linux、macOS または Windows の Windows%USERPROFILE%\.databrickscfg
に手動で追加します。 すべてのジョブ CLI (およびジョブ 実行 CLI) サブコマンドは、デフォルトによって Jobs REST API 2.1 を呼び出します。 - オプション
--version=2.1
(databricks jobs list --version=2.1
など) を追加して、ジョブ CLI に対して、その呼び出しに対してのみジョブ REST API 2.1 を呼び出すように指示します。
上記の操作を一切行わない場合、ジョブ CLI (およびジョブ 実行 CLI) は Jobs REST API by 2.0 を呼び出します。
ジョブ REST API 2.0 を呼び出すための要件
DatabricksジョブCLI (およびジョブ 実行 UCLI ) を設定して使用し、ジョブをRESTAPI 2.0 呼び出すには、次のいずれかの操作を行います。
- 0.16.0 より前のバージョンの Databricks CLI を使用するか、
- CLI を バージョン X.Y.Z 以上に更新し、次のいずれかを実行します。
databricks jobs configure --version=2.0
コマンドを実行します。これにより、Unix、Linux、macOSではファイル~/.databrickscfg
、Windowsでは%USERPROFILE%\.databrickscfg
に設定jobs-api-version = 2.0
が追加されます。すべてのジョブ CLI (およびジョブ 実行 CLI) サブコマンドは、デフォルトによって Jobs REST API 2.0 を呼び出します。- 設定
jobs-api-version = 2.0
をファイル~/.databrickscfg
Unix、Linux、macOS または Windows の Windows%USERPROFILE%\.databrickscfg
に手動で追加します。 すべてのジョブ CLI (およびジョブ 実行 CLI) サブコマンドは、デフォルトによって Jobs REST API 2.0 を呼び出します。 - オプション
--version=2.1
(databricks jobs list --version=2.0
など) を追加して、ジョブ CLI に対して、その呼び出しに対してのみジョブ REST API 2.0 を呼び出すように指示します。
上記の操作を一切行わない場合、ジョブ CLI (およびジョブ 実行 CLI) は Jobs REST API by 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 オブジェクトを渡します。 この例では、ID が 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
成功した場合、出力は表示されません。
同じ設定を持つ複数のジョブを削除するには、その設定に一致するジョブ ID の一覧を取得し、一致する各ジョブ ID に対して 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 の使用上の注意と応答の例
「Jobs 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 の使用上の注意と応答の例
Jobs 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 を順次呼び出してすべてのジョブを返すように CLI に指示するには、 --all
オプションを使用します。 --all
オプションを使用するには、API バージョンを 2.1 に設定する必要があります。
databricks jobs list --all
ジョブ リストのページング (API 2.1 のみ)
ページ分割されたジョブ リストを返すには、引数と --offset
引数を --limit
使用します。デフォルトでは、ジョブリストはジョブIDとジョブ名を含むテーブルとして返されます。 オプションでジョブ情報を含む 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
}