ジョブ API 2.0
重要
この記事では、Jobs API の 2.0 バージョンについて説明します。 ただし、Databricks では、新規および既存のクライアントとスクリプトに Jobs API 2.2 を使用することをお勧めします。 Jobs API の 2.2 バージョンでの変更点の詳細については、「 Jobs API 2.1 から 2.2 への更新」を参照してください。
Jobs API を使用すると、ジョブを作成、編集、および削除できます。 ジョブ API への要求の最大許容サイズは 10 MB です。
Databricks ジョブを使用した複数のタスクのオーケストレーションをサポートする Jobs API の更新の詳細については、「 Jobs API 2.0 から 2.1 への更新 」および「 Jobs API 2.1 から 2.2 への更新」を参照してください。
警告
シークレットをハード コーディングしたり、プレーン テキストで保存したりしないでください。 Secrets API を使用して、Databricks CLI でシークレットを管理します。シークレット・ユーティリティ (dbutils.secrets) を使用します ノートブックとジョブのシークレットを参照します。
注:
ジョブ API リクエストを行うときに 500 レベルのエラーが発生した場合、Databricks では最大 10 分間 (再試行の間隔は 30 秒以上) リクエストを再試行することをお勧めします。
重要
Databricks REST APIsにアクセスするには、認証が必要です。
創造する
エンドポイント |
HTTP メソッド |
---|---|
|
|
新しいジョブを作成します。
例
この例では、毎晩午後 10 時 15 分に JAR タスクを実行するジョブを作成します。
依頼
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .
create-job.json
:
{
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"webhook_notifications": {
"on_start": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_success": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_failure": []
},
"notification_settings": {
"no_alert_for_skipped_runs": false,
"no_alert_for_canceled_runs": false,
"alert_on_last_attempt": false
},
"timeout_seconds": 3600,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。ソリューションに適したフィールドを含む
create-job.json
の内容。
要求の構造
重要
新しいジョブ クラスターでジョブを実行すると、そのジョブは Jobs コンピュート (自動化) ワークロードとして扱われ、Jobs コンピュート 価格が適用されます。
既存のAll-Purposeクラスターでジョブを実行すると、そのジョブはAll-Purpose コンピュート 価格の対象となる All-Purpose コンピュート (インタラクティブ) ワークロードとして扱われます。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
existing_cluster_idの場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行している場合、クラスターが応答を停止した場合は、クラスターを手動で再起動する必要がある場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。 new_clusterの場合は、実行ごとに作成されるクラスターの説明。 PipelineTask を指定する場合、このフィールドは空にすることができます。 |
|
ノートブックタスク OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask |
ノートブックの場合、このジョブがノートブックを実行する必要があることを示します。 このフィールドを spark_jar_task と組み合わせて指定することはできません。 spark_jar_taskの場合、このジョブで JAR を実行する必要があることを示します。 spark_python_taskの場合、このジョブで Python ファイルを実行することを示します。 spark_submit_taskの場合、このジョブを spark submit スクリプトで起動する必要があることを示します。 If パイプラインは、このジョブが Delta Live Tables パイプラインを実行する必要があることを示します。 実行されている場合、このジョブは別のジョブを実行する必要があることを示します。 |
|
|
ジョブのオプションの名前。 デフォルト値は |
|
ジョブを実行するクラスターにインストールするライブラリのオプションの一覧。 デフォルト値は空のリストです。 |
|
|
このジョブの実行が開始および完了したとき、およびこのジョブが削除されたときに通知されるEメールアドレスのオプションセット。 デフォルトの動作は、電子メールを送信しないことです。 |
|
|
このジョブの実行が開始、完了、または失敗したときに通知するシステム宛先のオプション・セット。 |
|
|
このジョブの各 |
|
|
|
このジョブの各実行に適用されるオプションのタイムアウト。 デフォルトの動作では、タイムアウトはありません。 |
|
|
失敗した実行を再試行するオプションの最大回数。 実行が |
|
|
失敗した実行の開始とその後の再試行実行の間の最小間隔 (ミリ秒単位) (オプション)。 デフォルトの動作では、失敗した実行はすぐに再試行されます。 |
|
|
ジョブがタイムアウトしたときにジョブを再試行するかどうかを指定するオプションのポリシー。 デフォルトの動作では、タイムアウト時に再試行されません。 |
|
このジョブのオプションの定期的なスケジュール。 デフォルトの動作は、ジョブ UI で [ 今すぐ実行 ] をクリックするか、 |
|
|
|
ジョブの並列実行の最大許容数 (オプション)。 同じジョブの複数の実行を同時に実行できるようにする場合は、この値を設定します。 これは、たとえば、頻繁なスケジュールでジョブをトリガーし、連続した実行を互いにオーバーラップさせたい場合や、入力パラメーターが異なる複数の実行をトリガーする場合に便利です。 この設定は、新しい実行にのみ影響します。 たとえば、ジョブの同時実行が 4 で、4 つの並列アクティブ実行があるとします。 その後、コンカレンシーを 3 に設定しても、アクティブな実行は強制終了されません。 ただし、それ以降は、アクティブな実行が 3 つ未満でない限り、新しい実行はスキップされます。 この値は 1000 を超えることはできません。 この値を 0 に設定すると、すべての新しい実行がスキップされます。 デフォルトの動作では、1 つの並列実行のみが許可されます。 |
リスト
エンドポイント |
HTTP メソッド |
---|---|
|
|
すべてのジョブを一覧表示します。
例
依頼
curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例: dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。
応答
{
"jobs": [
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
]
}
削除
エンドポイント |
HTTP メソッド |
---|---|
|
|
ジョブを削除し、 JobSettings.email_notifications
で指定したアドレスにEメール を送信します。 ジョブがすでに削除されている場合、アクションは発生しません。 ジョブが削除されると、ジョブの詳細も実行履歴もジョブ UI または API に表示されません。 この要求が完了すると、ジョブは削除されることが保証されます。 ただし、この要求を受信する前にアクティブだった実行は、まだアクティブである可能性があります。 これらは非同期的に終了します。
例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。<job-id>
は、ジョブの ID (123
など) に置き換えます。
この例では、 .netrc ファイル。
取得
エンドポイント |
HTTP メソッド |
---|---|
|
|
1 つのジョブに関する情報を取得します。
例
依頼
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .
又は:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。<job-id>
は、ジョブの ID (123
など) に置き換えます。
応答
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"webhook_notifications": {
"on_start": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_success": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_failure": []
},
"notification_settings": {
"no_alert_for_skipped_runs": false,
"no_alert_for_canceled_runs": false,
"alert_on_last_attempt": false
},
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
リセット
エンドポイント |
HTTP メソッド |
---|---|
|
|
特定のジョブのすべての設定を上書きします。 更新エンドポイントを使用して、ジョブ設定を部分的に更新します。
例
この要求例では、ジョブ 2 は 作成 例のジョブ 1 と同じになります。
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .
reset-job.json
:
{
"job_id": 2,
"new_settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"webhook_notifications": {
"on_start": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_success": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_failure": []
},
"notification_settings": {
"no_alert_for_skipped_runs": false,
"no_alert_for_canceled_runs": false,
"alert_on_last_attempt": false
},
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
}
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。ソリューションに適したフィールドを含む
reset-job.json
の内容。
アップデート
エンドポイント |
HTTP メソッド |
---|---|
|
|
既存のジョブの特定の設定を追加、変更、または削除します。 リセットエンドポイントを使用して、すべてのジョブ設定を上書きします。
例
この要求例では、ライブラリを削除し、 作成 例で定義されたジョブ 1 に Eメール 通知設定を追加します。
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .
update-job.json
:
{
"job_id": 1,
"new_settings": {
"existing_cluster_id": "1201-my-cluster",
"email_notifications": {
"on_start": [ "someone@example.com" ],
"on_success": [],
"on_failure": []
}
},
"fields_to_remove": ["libraries"]
}
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。ソリューションに適したフィールドを含む
update-job.json
の内容。
要求の構造
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
更新するジョブの正規識別子。 このフィールドは必須です。 |
|
ジョブの新しい設定。
フィールド |
|
|
の配列 |
ジョブ設定の最上位フィールドを削除します。 ネストされたフィールドの削除はサポートされていません ( このフィールドはオプションです。 |
今すぐ実行
重要
ワークスペースの同時タスク実行数は 1000 に制限されています。すぐに開始できない実行を要求すると、
429 Too Many Requests
応答が返されます。ワークスペースが 1 時間に作成できるジョブの数は 10000 に制限されています(「実行の送信」を含む)。この制限は、REST API およびノートブックワークフローによって作成されたジョブにも影響します。
ワークスペースには、最大 12000 個の保存されたジョブを含めることができます。
ジョブには、最大 100 個のタスクを含めることができます。
エンドポイント |
HTTP メソッド |
---|---|
|
|
ジョブを今すぐ実行し、トリガーされた実行の run_id
を返します。
ヒント
ここで Create を Run と一緒に呼び出すと、代わりに Run submit エンドポイントを使用できるため、ジョブを作成しなくてもワークロードを直接送信できます。
例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .
run-job.json
:
ノートブック ジョブの要求の例を次に示します。
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}
JAR ジョブの要求の例を次に示します。
{
"job_id": 2,
"jar_params": [ "john doe", "35" ]
}
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。ソリューションに適したフィールドを含む
run-job.json
の内容。
要求の構造
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
|
|
の配列 |
JARタスクを持つジョブのパラメーターのリスト。 |
|
ノートブックタスクを含むジョブのキーから値へのマップ。
ノートブックを jar_params と併せて指定することはできません。 このフィールドの JSON 表現 (つまり、 |
|
|
の配列 |
Pythonタスクを持つジョブのパラメーターのリスト。 |
|
の配列 |
spark submit タスクを含むジョブのパラメーターのリスト (例: |
|
|
ジョブ実行要求のべき等性を保証するオプションのトークン。 指定されたトークンを持つ実行が既に存在する場合、要求は新しい実行を作成せず、代わりに既存の実行の ID を返します。 指定されたトークンを使用した実行が削除されると、エラーが返されます。 べき等トークンを指定すると、失敗したときに、要求が成功するまで再試行できます。 Databricks では、そのべき等トークンを使用して 1 つの実行が開始されることが保証されます。 このトークンは、最大で 64 文字にする必要があります。 詳細については、「 ジョブのべき等性を確保する方法」を参照してください。 |
実行 submit
重要
ワークスペースの同時タスク実行数は 1000 に制限されています。すぐに開始できない実行を要求すると、
429 Too Many Requests
応答が返されます。ワークスペースが 1 時間に作成できるジョブの数は 10000 に制限されています(「実行の送信」を含む)。この制限は、REST API およびノートブックワークフローによって作成されたジョブにも影響します。
ワークスペースには、最大 12000 個の保存されたジョブを含めることができます。
ジョブには、最大 100 個のタスクを含めることができます。
エンドポイント |
HTTP メソッド |
---|---|
|
|
1 回限りの実行を送信します。 このエンドポイントを使用すると、ジョブを作成せずにワークロードを直接送信できます。 jobs/runs/get
API を使用して、ジョブが送信された後の実行状態を確認します。
例
依頼
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .
submit-job.json
:
{
"run_name": "my spark task",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。ソリューションに適したフィールドを含む
submit-job.json
の内容。
要求の構造
重要
新しいジョブ クラスターでジョブを実行すると、そのジョブは Jobs コンピュート (自動化) ワークロードとして扱われ、Jobs コンピュート 価格が適用されます。
既存のAll-Purposeクラスターでジョブを実行すると、そのジョブはAll-Purpose コンピュート 価格の対象となる All-Purpose コンピュート (インタラクティブ) ワークロードとして扱われます。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
existing_cluster_idの場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行している場合、クラスターが応答を停止した場合は、クラスターを手動で再起動する必要がある場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。 new_clusterの場合は、実行ごとに作成されるクラスターの説明。 PipelineTask を指定する場合、このフィールドは空にすることができます。 |
|
ノートブックタスク OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask |
ノートブックの場合、このジョブがノートブックを実行する必要があることを示します。 このフィールドを spark_jar_task と組み合わせて指定することはできません。 spark_jar_taskの場合、このジョブで JAR を実行する必要があることを示します。 spark_python_taskの場合、このジョブで Python ファイルを実行することを示します。 spark_submit_taskの場合、このジョブを spark submit スクリプトで起動する必要があることを示します。 If パイプラインは、このジョブが Delta Live Tables パイプラインを実行する必要があることを示します。 実行されている場合、このジョブは別のジョブを実行する必要があることを示します。 |
|
|
実行のオプションの名前。 デフォルト値は |
|
このジョブの実行が開始、完了、または失敗したときに通知するシステム宛先のオプション・セット。 |
|
|
この実行の各 |
|
|
ジョブを実行するクラスターにインストールするライブラリのオプションの一覧。 デフォルト値は空のリストです。 |
|
|
|
このジョブの各実行に適用されるオプションのタイムアウト。 デフォルトの動作では、タイムアウトはありません。 |
|
|
ジョブ実行要求のべき等性を保証するオプションのトークン。 指定されたトークンを持つ実行が既に存在する場合、要求は新しい実行を作成せず、代わりに既存の実行の ID を返します。 指定されたトークンを使用した実行が削除されると、エラーが返されます。 べき等トークンを指定すると、失敗したときに、要求が成功するまで再試行できます。 Databricks では、そのべき等トークンを使用して 1 つの実行が開始されることが保証されます。 このトークンは、最大で 64 文字にする必要があります。 詳細については、「 ジョブのべき等性を確保する方法」を参照してください。 |
実行 list
エンドポイント |
HTTP メソッド |
---|---|
|
|
リストは開始時刻の降順で実行されます。
注:
実行は 60 日後に自動的に削除されます。 60 日を超えて参照する場合は、有効期限が切れる前に古い実行結果を保存する必要があります。 UI を使用してエクスポートするには、「 ジョブ実行結果のエクスポート」を参照してください。 ジョブ API を使用してエクスポートするには、「 エクスポートの実行」を参照してください。
例
依頼
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
又は:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。<job-id>
は、ジョブの ID (123
など) に置き換えます。「
true
またはfalse
<true-false>
」。<offset>
をoffset
値に置き換えます。<limit>
をlimit
値に置き換えます。<run-type>
をrun_type
値に置き換えます。
応答
{
"runs": [
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/donald@duck.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
],
"has_more": true
}
要求の構造
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
active_only が completed_only が |
|
|
実行をリストするジョブ。 省略すると、ジョブ サービスにはすべてのジョブからの実行が一覧表示されます。 |
|
|
返される最初の実行のオフセット (最新の実行に対する相対値)。 |
|
|
返す実行の数。 この値は 0 より大きく 1000 未満である必要があります。 デフォルト値は 20 です。 リクエストで制限が 0 に指定されている場合、サービスは代わりに最大制限を使用します。 |
|
|
返す実行の種類。 実行タイプの詳細については、「 実行」を参照してください。 |
実行 取得
エンドポイント |
HTTP メソッド |
---|---|
|
|
実行のメタデータを取得します。
注:
実行は 60 日後に自動的に削除されます。 60 日を超えて参照する場合は、有効期限が切れる前に古い実行結果を保存する必要があります。 UI を使用してエクスポートするには、「 ジョブ実行結果のエクスポート」を参照してください。 ジョブ API を使用してエクスポートするには、「 エクスポートの実行」を参照してください。
例
依頼
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .
又は:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。<run-id>
は、実行の ID (123
など) に置き換えます。
応答
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
回答の構成
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
この実行を含むジョブの正規識別子。 |
|
|
実行の正規識別子。 この ID は、すべてのジョブのすべての実行で一意です。 |
|
|
ジョブのすべての実行のうち、この実行のシーケンス番号。 この値は 1 から始まります。 |
|
|
この実行が以前の実行試行の再試行である場合、このフィールドには元の試行の実行が含まれます。それ以外の場合は、実行と同じです。 |
|
実行の結果とライフサイクルの状態。 |
|
|
この実行をトリガーした cron スケジュール (定期的なスケジューラによってトリガーされた場合)。 |
|
|
実行によって実行されたタスク (存在する場合)。 |
|
|
この実行が作成されたときのジョブのクラスター仕様のスナップショット。 |
|
|
この実行に使用されたクラスター。 新しいクラスターを使用するように実行が指定されている場合、このフィールドは、ジョブ サービスが実行のクラスターを要求したときに設定されます。 |
|
|
この実行に使用されるパラメーター。 |
|
|
|
この実行が開始された時刻 (エポックミリ秒) (1970 年 1 月 1 日からのミリ秒)。 これは、ジョブ タスクの実行が開始される時刻ではない場合があります (たとえば、ジョブが新しいクラスターで実行されるようにスケジュールされている場合、クラスター作成呼び出しが発行される時刻です)。 |
|
|
この実行が終了した時刻 (エポックミリ秒) (1970 年 1 月 1 日からのミリ秒)。 ジョブがまだ実行中の場合、このフィールドは 0 に設定されます。 |
|
|
クラスターのセットアップにかかった時間 (ミリ秒単位)。 新しいクラスターでの実行の場合、これはクラスターの作成時間であり、既存のクラスターでの実行の場合、この時間は非常に短くする必要があります。 実行の合計時間は、 |
|
|
JARまたはノートブック内のコマンドの実行にかかった時間(ミリ秒単位)で、コマンドが完了、失敗、タイムアウト、キャンセル、または予期しないエラーが発生するまでです。 実行の合計時間は、 |
|
|
クラスターを終了し、関連するアーティファクトをクリーンアップするのにかかった時間 (ミリ秒単位)。 実行の合計時間は、 |
|
|
ジョブの実行とそのすべての修復が完了するまでにかかった時間 (ミリ秒単位)。 このフィールドは、マルチタスク・ジョブの実行にのみ設定され、タスクの実行には設定されません。 タスク実行の期間は、 |
|
この実行を起動したトリガーの種類。 |
|
|
|
作成者のユーザー名。 このフィールドは、ユーザーが削除された場合、応答に含まれません |
|
|
実行の詳細ページへの URL。 |
実行結果のエクスポート
エンドポイント |
HTTP メソッド |
---|---|
|
|
ジョブ実行タスクをエクスポートおよび取得します。
注:
ノートブックの実行のみを HTML 形式でエクスポートできます。 他の種類の実行のエクスポートは失敗します。
例
依頼
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .
又は:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。<run-id>
は、実行の ID (123
など) に置き換えます。
応答
{
"views": [ {
"content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
"name": "my-notebook",
"type": "NOTEBOOK"
} ]
}
JSON 応答から HTML ノートブックを抽出するには、この Python スクリプトをダウンロードして実行します。
注:
__DATABRICKS_NOTEBOOK_MODEL
オブジェクトのノートブック本文はエンコードされます。
要求の構造
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
実行の正規識別子。 このフィールドは必須です。 |
|
エクスポートするビュー (CODE、DASHBOARDS、または ALL)。 デフォルトは CODE です。 |
キャンセルを実行します
エンドポイント |
HTTP メソッド |
---|---|
|
|
ジョブの実行をキャンセルします。 実行は非同期的に取り消されるため、この要求が完了したときに実行がまだ実行されている可能性があります。 この実行はまもなく終了します。 実行がすでにターミナル life_cycle_state
にある場合、この方法は何もしません。
このエンドポイントは、 run_id
パラメーターが有効であることを検証し、無効なパラメーターの場合は HTTP ステータス コード 400 を返します。
例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。<run-id>
は、実行の ID (123
など) に置き換えます。
この例では、 .netrc ファイル。
すべての実行タスクのキャンセル
エンドポイント |
HTTP メソッド |
---|---|
|
|
ジョブのアクティブな実行をすべてキャンセルします。 実行は非同期的に取り消されるため、新しい実行の開始が妨げられることはありません。
このエンドポイントは、 job_id
パラメーターが有効であることを検証し、無効なパラメーターの場合は HTTP ステータス コード 400 を返します。
例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。<job-id>
は、ジョブの ID (123
など) に置き換えます。
この例では、 .netrc ファイル。
タスク実行結果の取得
エンドポイント |
HTTP メソッド |
---|---|
|
|
1 つのタスク実行の出力とメタデータを取得します。 ノートブックタスクが dbutils.ノートブック.exit() を通じて値を返す場合 call を呼び出すと、このエンドポイントを使用してその値を取得できます。 Databricks では、この API が出力の最初の 5 MB を返すように制限されています。 より大きな結果を返すために、ジョブの結果をクラウドストレージサービスに保存できます。
このエンドポイントは、 run_id
パラメーターが有効であることを検証し、無効なパラメーターの場合は HTTP ステータス コード 400 を返します。
実行は 60 日後に自動的に削除されます。 60 日を超えて参照する場合は、有効期限が切れる前に古い実行結果を保存する必要があります。 UI を使用してエクスポートするには、「 ジョブ実行結果のエクスポート」を参照してください。 ジョブ API を使用してエクスポートするには、「 エクスポートの実行」を参照してください。
例
依頼
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .
又は:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。<run-id>
は、実行の ID (123
など) に置き換えます。
応答
{
"metadata": {
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "TERMINATED",
"result_state": "SUCCESS",
"state_message": ""
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
},
"notebook_output": {
"result": "the maybe truncated string passed to dbutils.notebook.exit()"
}
}
要求の構造
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
実行の正規識別子。 複数のタスクを持つジョブの場合、これはタスク実行の |
実行の削除
エンドポイント |
HTTP メソッド |
---|---|
|
|
非アクティブな実行を削除します。 実行がアクティブな場合はエラーを返します。
例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'
以下のように置き換えてください。
<databricks-instance>
を Databricks ワークスペース インスタンス名 (例:dbc-a1b2345c-d6e7.cloud.databricks.com
) に置き換えます。<run-id>
は、実行の ID (123
など) に置き換えます。
この例では、 .netrc ファイル。
データ構造
このセクションの内容:
オートスケール
クラスター ワーカーの最小数と最大数を定義する範囲。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
使用率が低い場合にクラスターをスケールダウンできるワーカーの最小数。 これは、作成後にクラスターが持つワーカーの初期数でもあります。 |
|
|
過負荷時にクラスターをスケールアップできるワーカーの最大数。 max_workers厳密に min_workers より大きくなければなりません。 |
Awsアトリビュート
クラスターの作成時に設定された、 Amazon Web サービスに関連する属性。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
クラスターの最初の first_on_demand ノードは、オンデマンド インスタンスに配置されます。 この値が 0 より大きい場合、クラスター ドライバー ノードはオンデマンド インスタンスに配置されます。 この値が現在のクラスターサイズ以上の場合、すべてのノードがオンデマンドインスタンスに配置されます。 この値が現在のクラスターサイズより小さい場合、first_on_demandノードはオンデマンドインスタンスに配置され、残りは |
|
first_on_demandノードより後のすべての後続のノードに使用される可用性の種類。 手記: first_on_demand が 0 の場合、この可用性の種類はクラスター全体に使用されます。 |
|
|
|
クラスターが存在するアベイラビリティーゾーン (AZ) の識別子。 デフォルトでは、設定の値は auto (Auto-AZ) です。 自動 AZ では、Databricks はワークスペースサブネット内の使用可能な IP に基づいて AZ を選択し、AWS が容量不足エラーを返した場合に他のアベイラビリティーゾーンで再試行します。 必要に応じて、使用するアベイラビリティーゾーンを指定することもできます。 これは、特定の AZ にリザーブドインスタンスを持つアカウントに役立ちます。 AZ を文字列として指定します (例: 使用可能なゾーンのリストとデフォルト値は、GET /api/2.0/クラスター/list-zones を使用して見つけることができます 呼び出し。 |
|
|
このクラスターのノードは、このインスタンスプロファイルの AWS インスタンスにのみ配置されます。 省略すると、ノードはインスタンスプロファイルのないインスタンスに配置されます。 インスタンスプロファイルは、アカウント管理者によって以前に Databricks 環境に追加されている必要があります。 この機能は、特定の顧客プランでのみ利用できる場合があります。 |
|
|
AWS スポットインスタンスの最大価格 (対応するインスタンスタイプのオンデマンド料金に対する割合)。 たとえば、このフィールドが 50 に設定され、クラスターに新しい |
|
このクラスターで起動される EBS ボリュームのタイプ。 |
|
|
|
各インスタンスで起動されたボリュームの数。 最大10巻まで選択できます。 この機能は、サポートされているノードタイプでのみ有効です。 レガシーノードタイプでは、カスタム EBS ボリュームを指定できません。 インスタンスストアがないノードタイプの場合、少なくとも 1 つの EBS ボリュームを指定する必要があります。そうしないと、クラスターの作成が失敗します。 これらの EBS ボリュームは、 EBS ボリュームが接続されている場合、Databricks は、異種サイズのスクラッチ デバイスがディスク使用率を低下させる可能性があるため、スクラッチ ストレージに EBS ボリュームのみを使用するように Spark を構成します。 EBS ボリュームが接続されていない場合、Databricks はインスタンス ストア ボリュームを使用するように Spark を構成します。 EBS ボリュームが指定されている場合、Spark 設定 |
|
|
各インスタンスで起動された各 EBS ボリュームのサイズ (GiB 単位)。 汎用SSDボリュームの場合、この値は 100 から 4096 の範囲内にある必要があります。 スループット最適化 HDD の場合、この値は 500 から 4096 の範囲内にある必要があります。 カスタム EBS ボリュームは、レガシーノードタイプ (メモリ最適化 および コンピュート最適化) には指定できません。 |
|
|
EBS gp3 ボリュームあたりの IOPS 数。 この値は 3000 から 16000 の間でなければなりません。 IOPS とスループットの値は、AWS のドキュメントに基づいて計算され、同じボリュームサイズの gp2 ボリュームの最大パフォーマンスと一致します。 詳細については、 EBS ボリューム制限計算ツールを参照してください。 |
|
|
EBS gp3 ボリュームあたりのスループット (MiB/秒)。 この値は 125 から 1000 の間でなければなりません。 |
ebs_volume_iops
も ebs_volume_throughput
も指定されていない場合、値はディスク・サイズから推論されます。
ディスクサイズ |
IOPSの |
スループット |
---|---|---|
1000より大きい |
ディスク サイズの 3 倍、最大 16000 |
250 |
170から1000の間 |
3000 |
250 |
170未満 |
3000 |
125 |
アトラベイラビリティ
クラスターのノードを設定するときにサポートされる AWS 可用性タイプのセット。
タイプ |
説明 |
---|---|
|
スポットインスタンスを使用します。 |
|
オンデマンドインスタンスを使用します。 |
|
スポットインスタンスを使用することをお勧めしますが、スポットインスタンスを取得できない場合 (AWS スポット料金が高すぎる場合など) はオンデマンドインスタンスにフォールバックします。 |
クラスタインスタンス
実行で使用されるクラスターと Spark コンテキストの識別子。 これら 2 つの値を組み合わせることで、すべての時間の実行コンテキストが識別されます。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
実行で使用されるクラスターの正規識別子。 このフィールドは、既存のクラスターでの実行に常に使用できます。 新しいクラスターでの実行の場合、クラスターが作成されると使用可能になります。 この値は、 識別子がまだ使用できない場合、応答にはこのフィールドは含まれません。 |
|
|
実行で使用される Spark コンテキストの正規識別子。 このフィールドは、実行が開始されると入力されます。 この値は、 識別子がまだ使用できない場合、応答にはこのフィールドは含まれません。 |
クラスタログコンフィ
クラスター ログへのパス。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
クラスター ログの場所DBFS。目的地を指定する必要があります。 例えば クラスター ログの場所S3。 |
クラスタスペック
重要
新しいジョブ クラスターでジョブを実行すると、そのジョブは Jobs コンピュート (自動化) ワークロードとして扱われ、Jobs コンピュート 価格が適用されます。
既存のAll-Purposeクラスターでジョブを実行すると、そのジョブはAll-Purpose コンピュート 価格の対象となる All-Purpose コンピュート (インタラクティブ) ワークロードとして扱われます。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
existing_cluster_idの場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行している場合、クラスターが応答を停止した場合は、クラスターを手動で再起動する必要がある場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。 new_clusterの場合は、実行ごとに作成されるクラスターの説明。 PipelineTask を指定する場合、このフィールドは空にすることができます。 |
|
ジョブを実行するクラスターにインストールするライブラリのオプションの一覧。 デフォルト値は空のリストです。 |
クラスタータグ
クラスタータグの定義。
タイプ |
説明 |
---|---|
|
タグのキー。 キーの長さは、1 から 127 文字の UTF-8 文字 (両端を含む) である必要があります。 すべての制限のリストについては、「AWS タグの制限: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions を参照してください |
|
タグの値。 値の長さは 255 UTF-8 文字以下である必要があります。 すべての制限のリストについては、「AWS タグの制限: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions を参照してください |
クロンスケジュール
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
ジョブのスケジュールを記述する Quartz 構文を使用した Cron 式。 詳細については 、Cron トリガー を参照してください。 このフィールドは必須です。 |
|
|
Java タイムゾーン ID。 ジョブのスケジュールは、このタイムゾーンを基準にして解決されます。 詳細については、 Java TimeZone を参照してください。 このフィールドは必須です。 |
|
|
このスケジュールを一時停止するかどうかを示します。 「停止する」または「UNPAUSED」のいずれかです。 |
エブスボリュームタイプ
Databricks は、gp2 および gp3 EBS ボリュームタイプをサポートしています。 「SSD ストレージの管理」の手順に従って、ワークスペースに gp2 または gp3 を選択します。
タイプ |
説明 |
---|---|
|
AWS EBS ボリュームを使用して追加のストレージをプロビジョニングします。 |
|
AWS st1 ボリュームを使用して追加のストレージをプロビジョニングします。 |
ファイルストレージ情報
ファイルストレージ情報。
注:
この位置情報は、 Databricks Container Services を使用して設定されたクラスターでのみ使用できます。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
ファイルの保存先。 例: |
InitScriptInfo (英語)
initスクリプトへのパス。
Databricks Container Servicesでinitスクリプトを使用する方法については、initスクリプトの使用を参照してください。
注:
ファイルストレージの種類 (フィールド名: file
) は、 Databricks Container Services を使用して設定されたクラスターでのみ使用できます。 FileStorageInfo を参照してください。
フィールド名 |
タイプ |
説明 |
---|---|---|
または |
DbfsStorageInfo (非推奨) |
ワークスペース initスクリプトの場所。 目的地を指定する必要があります。 例えば
(非推奨)initスクリプトの場所 DBFS 。 目的地を指定する必要があります。 例えば
initスクリプトの S3 の場所。 配送先と、地域またはウェアハウスを指定する必要があります。 例えば |
ジョブ
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
このジョブの正規識別子。 |
|
|
作成者のユーザー名。 ユーザーが既に削除されている場合、このフィールドは応答に含まれません。 |
|
|
ジョブを実行するユーザー名。 |
|
このジョブとそのすべての実行の設定。 これらの設定は、 |
|
|
|
このジョブが作成された時刻 (エポックミリ秒) (1970 年 1 月 1 日からのミリ秒)。 |
JobEmail通知
重要
on_start、on_success、および on_failure フィールドは、ラテン文字 (ASCII 文字セット) のみを受け入れます。 非ASCII文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例としては、中国語、日本語の漢字、絵文字などがあります。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
の配列 |
実行の開始時に通知されるEメール アドレスのリスト。 ジョブの作成、リセット、または更新で指定しない場合、リストは空になり、通知は送信されません。 |
|
の配列 |
実行が正常に完了したときに通知される Eメール アドレスの一覧。 実行が |
|
の配列 |
実行が正常に完了しなかったときに通知されるEメール アドレスのリスト。 実行が |
|
の配列 |
実行時間が |
|
|
true の場合、実行がスキップされた場合、 |
フィールド名 |
タイプ |
説明 |
---|---|---|
|
実行の開始時に通知されるシステム宛先のオプションのリスト。 ジョブの作成、リセット、または更新で指定しない場合、リストは空になり、通知は送信されません。 |
|
|
実行が正常に完了したときに通知されるシステム宛先のオプションのリスト。 実行が |
|
|
実行が正常に完了しなかったときに通知されるシステム宛先のオプションのリスト。 実行が |
|
|
実行の期間が |
ジョブ通知設定
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
true の場合、実行がスキップされた場合は、 |
|
|
true の場合、実行が取り消された場合、 |
|
|
true の場合、再試行された実行の |
ジョブ設定
重要
新しいジョブ クラスターでジョブを実行すると、そのジョブは Jobs コンピュート (自動化) ワークロードとして扱われ、Jobs コンピュート 価格が適用されます。
既存のAll-Purposeクラスターでジョブを実行すると、そのジョブはAll-Purpose コンピュート 価格の対象となる All-Purpose コンピュート (インタラクティブ) ワークロードとして扱われます。
ジョブの設定。 これらの設定は、 resetJob
メソッドを使用して更新できます。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
existing_cluster_idの場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行している場合、クラスターが応答を停止した場合は、クラスターを手動で再起動する必要がある場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。 new_clusterの場合は、実行ごとに作成されるクラスターの説明。 PipelineTask を指定する場合、このフィールドは空にすることができます。 |
|
ノートブックタスク OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask |
ノートブックの場合、このジョブがノートブックを実行する必要があることを示します。 このフィールドを spark_jar_task と組み合わせて指定することはできません。 spark_jar_taskの場合、このジョブで JAR を実行する必要があることを示します。 spark_python_taskの場合、このジョブで Python ファイルを実行することを示します。 spark_submit_taskの場合、このジョブを spark submit スクリプトで起動する必要があることを示します。 If パイプラインは、このジョブが Delta Live Tables パイプラインを実行する必要があることを示します。 実行されている場合、このジョブは別のジョブを実行する必要があることを示します。 |
|
|
ジョブのオプションの名前。 デフォルト値は |
|
ジョブを実行するクラスターにインストールするライブラリのオプションの一覧。 デフォルト値は空のリストです。 |
|
|
このジョブの実行が開始または完了したとき、およびこのジョブが削除されたときに通知されるEメールアドレスのオプションセット。 デフォルトの動作は、電子メールを送信しないことです。 |
|
|
このジョブの実行が開始、完了、または失敗したときに通知するシステム宛先のオプション・セット。 |
|
|
このジョブの各 |
|
|
|
このジョブの各実行に適用されるオプションのタイムアウト。 デフォルトの動作では、タイムアウトはありません。 |
|
|
失敗した実行を再試行するオプションの最大回数。 実行が |
|
|
試行間の最小間隔 (ミリ秒単位) (オプション)。 デフォルトの動作では、失敗した実行はすぐに再試行されます。 |
|
|
ジョブがタイムアウトしたときにジョブを再試行するかどうかを指定するオプションのポリシー。 デフォルトの動作では、タイムアウト時に再試行されません。 |
|
このジョブのオプションの定期的なスケジュール。 デフォルトの動作は、ジョブUIで[実行]をクリックするか、 |
|
|
|
ジョブの並列実行の最大許容数 (オプション)。 同じジョブの複数の実行を同時に実行できるようにする場合は、この値を設定します。 これは、たとえば、頻繁なスケジュールでジョブをトリガーし、連続した実行を互いにオーバーラップさせたい場合や、入力パラメーターが異なる複数の実行をトリガーする場合に便利です。 この設定は、新しい実行にのみ影響します。 たとえば、ジョブの同時実行が 4 で、4 つの並列アクティブ実行があるとします。 その後、コンカレンシーを 3 に設定しても、アクティブな実行は強制終了されません。 ただし、それ以降は、アクティブな実行が 3 つ未満でない限り、新しい実行はスキップされます。 この値は 1000 を超えることはできません。 この値を 0 に設定すると、すべての新しい実行がスキップされます。 デフォルトの動作では、1 つの並列実行のみが許可されます。 |
|
ジョブに定義された正常性ルールのオプションセット。 |
ジョブタスク
フィールド名 |
タイプ |
説明 |
---|---|---|
|
ノートブックタスク OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask |
ノートブックの場合、このジョブがノートブックを実行する必要があることを示します。 このフィールドを spark_jar_task と組み合わせて指定することはできません。 spark_jar_taskの場合、このジョブで JAR を実行する必要があることを示します。 spark_python_taskの場合、このジョブで Python ファイルを実行することを示します。 spark_submit_taskの場合、このジョブを spark submit スクリプトで起動する必要があることを示します。 If パイプラインは、このジョブが Delta Live Tables パイプラインを実行する必要があることを示します。 実行されている場合、このジョブは別のジョブを実行する必要があることを示します。 |
ジョブヘルスルール
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
特定の正常性ルールに対して評価される正常性メトリクスを指定します。 有効な値は |
|
|
ヘルスメトリクス値を指定したしきい値と比較するために使用する演算子を指定します。 有効な値は |
|
|
正常性ルールに準拠するために正常性メトリクスが満たす必要があるしきい値を指定します。 |
ジョブヘルスルール
フィールド名 |
タイプ |
説明 |
---|---|---|
|
ジョブに対して定義できる正常性ルールのオプションセット。 |
ライブラリ
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
jar の場合は、インストールする JAR の URI。 DBFS URI と S3 URI がサポートされています。 たとえば、 egg の場合、インストールする egg の URI。 DBFS URI と S3 URI がサポートされています。 たとえば、 whlの場合、インストールする pypi の場合、インストールする PyPI ライブラリの指定。 Maven場合は、インストールするMavenライブラリの指定。例えば:
cranの場合は、インストールする CRAN ライブラリの指定。 |
Mavenライブラリ
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
Gradle スタイルの Maven 座標。 たとえば、 |
|
|
MavenパッケージをインストールするためのMaven リポジトリ。 省略すると、Maven 中央リポジトリと Spark パッケージの両方が検索されます。 |
|
の配列 |
除外する依存関係のリスト。 たとえば、 Maven 依存関係の除外: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. |
新規クラスタ
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
ワーカーの場合、このクラスターに必要なワーカー ノードの数。 クラスターには 1 つの Spark ドライバーとワーカー エグゼキューターがあり、合計でワーカー + 1 つの Spark ノードがあります。 クラスターのプロパティを読み取る場合、このフィールドには、実際の現在のワーカー数ではなく、必要なワーカー数が反映されます。 たとえば、クラスターのサイズが 5 ワーカーから 10 ワーカーに変更された場合、このフィールドはすぐに 10 ワーカーの目標サイズを反映するように更新されますが、 オートスケールの場合、負荷に基づいてクラスターを自動的にスケールアップおよびスケールダウンするために必要なパラメーター。 |
|
|
クラスターの Spark バージョン。 使用可能な Spark バージョンの一覧は、 GET 2.0/クラスター/spark-versions 呼び出しを使用して取得できます。 このフィールドは必須です。 |
|
オプションのユーザー指定の Spark 構成のキーと値のペアのセットを含むオブジェクト。 また、追加の JVM オプションの文字列を、それぞれ Spark confs の例: |
|
|
Amazon Web サービスで実行されているクラスターに関連する属性。クラスターの作成時に指定しない場合は、一連のデフォルト値が使用されます。 |
|
|
|
このフィールドは、このクラスター内の各 Spark ノードで使用可能なリソースを 1 つの値でエンコードします。 たとえば、 Spark ノードをプロビジョニングし、メモリまたはコンピュート集中型のワークロード用に最適化できます 使用可能なノードの種類の一覧は、 GET 2.0/クラスター/list-node-types 呼び出しを使用して取得できます。 このフィールド、 |
|
|
Spark ドライバーのノードの種類。 このフィールドはオプションです。設定を解除すると、ドライバー ノード タイプは、上記で定義した |
|
の配列 |
このクラスター内の各 Spark ノードに追加される SSH 公開キーの内容。 対応する秘密鍵を使用して、ポート |
|
クラスター リソースのタグのセットを含むオブジェクト。 Databricks すべてのクラスター リソース ( AWS インスタンスや EBS ボリュームなど) に、デフォルトに加えてこれらのタグを付けます。 メモ:
|
|
|
Spark ログを長期保存先に配信するための構成。 1 つのクラスターに対して指定できる宛先は 1 つだけです。 conf が指定されている場合、ログは |
|
|
initスクリプトを格納するための設定です。 スクリプトはいくつでも指定できます。 スクリプトは、指定された順序で順番に実行されます。 |
|
|
オプションのユーザー指定の環境変数のキーと値のペアのセットを含むオブジェクト。 フォーム (X,Y) のキーと値のペアは、ドライバーとワーカーの起動時にそのままエクスポートされます (つまり、 追加の Spark 環境変数の例: |
|
|
|
オートスケール Local Storage: 有効にすると、このクラスターは、 Spark ワーカーのディスク領域が不足しているときに、追加のディスク領域を動的に取得します。 この機能が正しく機能するには、特定の AWS 権限が必要です - 詳細については、 オートスケールのローカルストレージを有効にする を参照してください。 |
|
|
ドライバ・ノードに使用するインスタンス・プールのオプションのID。 また、 |
|
|
クラスター ノードに使用するインスタンス プールのオプションの ID。 |
ノートブック出力
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
dbutils.ノートブック.exit() に渡される値。Databricks では、この API が値の最初の 1 MB を返すように制限されています。 より大きな結果を得るには、ジョブで結果をクラウド ストレージ サービスに保存できます。 |
|
|
結果が切り捨てられたかどうか。 |
ノートブックタスク
すべての出力セルのサイズは 8MB です。 セルの出力のサイズが大きい場合、残りの実行はキャンセルされ、実行は失敗としてマークされます。 その場合、他のセルから出力されたコンテンツの一部も欠落している可能性があります。
制限を超えているセルを見つけるのに助けが必要な場合は、All-Purposeクラスターに対してノートブックを実行し、この ノートブック自動保存手法を使用してください。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
Databricks ワークスペースで実行されるノートブックの絶対パス。 このパスはスラッシュで始める必要があります。 このフィールドは必須です。 |
|
|
ノートブックのリビジョンのタイムスタンプ。 |
|
このジョブの各実行に使用する基本パラメーター。 パラメーターを指定して 使用 動的値参照とは をクリックして、ジョブの実行に関する情報を含むパラメーターを設定します。 ノートブックが、ジョブの これらのパラメータをノートブックで取得するには、 dbutils.widgets.get を使用します。 |
パラメータペア
ジョブ running ノートブック タスクの名前ベースのパラメーター。
重要
このデータ構造のフィールドは、ラテン文字 (ASCII 文字セット) のみを受け入れます。 非ASCII文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例としては、中国語、日本語の漢字、絵文字などがあります。
タイプ |
説明 |
---|---|
|
パラメーター名。 dbutils.widgets.get に渡して値を取得します。 |
|
パラメーター value. |
パイプラインタスク
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
実行する Delta Live Tables パイプライン タスクの完全な名前。 |
PythonPyPiライブラリ
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
インストールする PyPI パッケージの名前。 オプションの正確なバージョン指定もサポートされています。 例: |
|
|
パッケージが見つかる リポジトリ。 指定しない場合、デフォルトのpipインデックスが使用されます。 |
RCranライブラリ
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
インストールする CRAN パッケージの名前。 このフィールドは必須です。 |
|
|
パッケージが見つかる リポジトリ。 指定しない場合は、既定の CRAN リポジトリが使用されます。 |
実行
実行に関するすべての情報(出力を除く)。 出力は、 getRunOutput
メソッドを使用して個別に取得できます。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
この実行を含むジョブの正規識別子。 |
|
|
実行の正規識別子。 この ID は、すべてのジョブのすべての実行で一意です。 |
|
|
作成者のユーザー名。 ユーザーが既に削除されている場合、このフィールドは応答に含まれません。 |
|
|
ジョブのすべての実行のうち、この実行のシーケンス番号。 この値は 1 から始まります。 |
|
|
この実行が以前の実行試行の再試行である場合、このフィールドには元の試行の実行が含まれます。それ以外の場合は、実行と同じです。 |
|
実行の結果とライフサイクルの状態。 |
|
|
この実行をトリガーした cron スケジュール (定期的なスケジューラによってトリガーされた場合)。 |
|
|
実行によって実行されたタスク (存在する場合)。 |
|
|
この実行が作成されたときのジョブのクラスター仕様のスナップショット。 |
|
|
この実行に使用されたクラスター。 新しいクラスターを使用するように実行が指定されている場合、このフィールドは、ジョブ サービスが実行のクラスターを要求したときに設定されます。 |
|
|
この実行に使用されるパラメーター。 |
|
|
|
この実行が開始された時刻 (エポックミリ秒) (1970 年 1 月 1 日からのミリ秒)。 これは、ジョブ タスクの実行が開始される時刻ではない場合があります (たとえば、ジョブが新しいクラスターで実行されるようにスケジュールされている場合、クラスター作成呼び出しが発行される時刻です)。 |
|
|
クラスターのセットアップにかかった時間 (ミリ秒単位)。 新しいクラスターでの実行の場合、これはクラスターの作成時間であり、既存のクラスターでの実行の場合、この時間は非常に短くする必要があります。 |
|
|
JARまたはノートブック内のコマンドの実行にかかった時間(ミリ秒単位)で、コマンドが完了、失敗、タイムアウト、キャンセル、または予期しないエラーが発生するまでです。 |
|
|
クラスターを終了し、関連するアーティファクトをクリーンアップするのにかかった時間 (ミリ秒単位)。 実行の合計時間は、setup_duration、execution_duration、およびcleanup_durationの合計です。 |
|
|
この実行が終了した時刻 (エポックミリ秒) (1970 年 1 月 1 日からのミリ秒)。 ジョブがまだ実行中の場合、このフィールドは 0 に設定されます。 |
|
この実行を起動したトリガーの種類。 |
|
|
|
実行のオプションの名前。 デフォルト値は |
|
|
実行の詳細ページへの URL。 |
|
|
実行のタイプ。
|
|
|
トリガーされたジョブ実行に対するこの実行試行のシーケンス番号。 実行の最初の試行のattempt_numberは 0 です。最初の実行試行が失敗し、ジョブに再試行ポリシー ( |
RunJobTask (ジョブ タスクの実行)
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
実行するジョブの一意の識別子。 このフィールドは必須です。 |
RunLifeCycleState
実行のライフサイクル状態。 許可される状態遷移は次のとおりです。
QUEUED
->PENDING
PENDING
->RUNNING
->TERMINATING
->TERMINATED
PENDING
->SKIPPED
PENDING
->INTERNAL_ERROR
RUNNING
->INTERNAL_ERROR
TERMINATING
->INTERNAL_ERROR
状態 |
説明 |
---|---|
|
実行はトリガーされましたが、次のいずれかの制限に達したため、キューに入れられます。
ジョブまたは実行でキューイングが有効になっていると、この状態に達することはできません。 |
|
実行がトリガされました。 ジョブの設定された最大並列実行に既に達している場合、実行はリソースを準備しずにすぐに |
|
この実行のタスクは実行されています。 |
|
この実行のタスクは完了し、クラスターと実行コンテキストはクリーンアップされています。 |
|
この実行のタスクが完了し、クラスターと実行コンテキストがクリーンアップされました。 この状態はターミナルです。 |
|
この実行は、同じジョブの以前の実行が既にアクティブであったため、中止されました。 この状態はターミナルです。 |
|
ジョブ サービスの障害を示す例外的な状態 (長期間にわたるネットワーク障害など)。 新しいクラスターでの実行が |
ランパラメータ
この実行のパラメーター。 jar_params、 python_params
、またはノートブックのいずれか 1 つだけを run-now
要求に指定する必要があります (ジョブ タスクの種類によって異なります)。 Spark JAR タスクまたは Python タスクを持つジョブは位置ベースのパラメーターの一覧を受け取り、ノートブック タスクを持つジョブはキー値マップを受け取ります。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
の配列 |
Spark JAR タスクを含むジョブのパラメーターの一覧 (例: 使用 動的値参照とは をクリックして、ジョブの実行に関する情報を含むパラメーターを設定します。 |
|
ノートブックタスクを含むジョブのキーから値へのマップ。
ノートブックはjar_paramsと併用して指定することはできません。 使用 動的値参照とは をクリックして、ジョブの実行に関する情報を含むパラメーターを設定します。 このフィールドの JSON 表現 (つまり、 |
|
|
の配列 |
Pythonタスクを持つジョブのパラメーターのリスト。 使用 動的値参照とは をクリックして、ジョブの実行に関する情報を含むパラメーターを設定します。 これらのパラメーターは、ラテン文字 (ASCII 文字セット) のみを受け入れます。 非ASCII文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例としては、中国語、日本語の漢字、絵文字などがあります。 |
|
の配列 |
spark submit タスクを含むジョブのパラメーターのリスト (例: 使用 動的値参照とは をクリックして、ジョブの実行に関する情報を含むパラメーターを設定します。 これらのパラメーターは、ラテン文字 (ASCII 文字セット) のみを受け入れます。 非ASCII文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例としては、中国語、日本語の漢字、絵文字などがあります。 |
RunResultState (実行結果状態)
実行の結果の状態。
life_cycle_state
=TERMINATED
の場合:実行にタスクがある場合、結果は利用可能であることが保証され、タスクの結果を示します。life_cycle_state
=PENDING
、RUNNING
、またはSKIPPED
の場合、結果の状態は使用できません。life_cycle_state
=TERMINATING
または lifecyclestate =INTERNAL_ERROR
の場合 : 実行にタスクがあり、それを開始できた場合、結果の状態は使用可能です。
いったん使用可能になると、結果の状態は変更されません。
状態 |
説明 |
---|---|
|
タスクは正常に完了しました。 |
|
タスクはエラーで完了しました。 |
|
タイムアウトに達した後、実行が停止されました。 |
|
実行はユーザーの要求によりキャンセルされました。 |
ランステート
フィールド名 |
タイプ |
説明 |
---|---|---|
|
実行ライフサイクル内の実行の現在の場所の説明。 このフィールドは、応答で常に使用できます。 |
|
|
実行の結果の状態。 使用できない場合、応答にはこのフィールドは含まれません。 result_stateの可用性の詳細については、「 RunResultState 」を参照してください。 |
|
|
|
実行がタイムアウトしたために、実行がユーザーによって手動で取り消されたか、スケジューラによって手動で取り消されたか。 |
|
|
現在の状態を説明するメッセージ。 このフィールドは構造化されておらず、正確な形式は変更される可能性があります。 |
S3ストレージ情報
S3 ストレージ情報。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
S3 宛先。 たとえば、 |
|
|
S3 リージョン。 たとえば、 |
|
|
S3 ウェアハウス。 たとえば、 |
|
|
(オプション)サーバー側の暗号化を有効にします (デフォルトで |
|
|
(オプション)暗号化の種類は、 |
|
|
(オプション)暗号化が有効で、暗号化タイプが |
|
|
(オプション)既定のアクセス制御リストを設定します。 たとえば、 |
スパークエンブペア
Spark 環境変数のキーと値のペア。
重要
ジョブ・クラスターで環境変数を指定する場合、このデータ構造のフィールドはラテン文字 (ASCII 文字セット) のみを受け入れます。 非ASCII文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例としては、中国語、日本語の漢字、絵文字などがあります。
タイプ |
説明 |
---|---|
|
環境変数の名前。 |
|
環境変数の値。 |
SparkJarタスク
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
2016 年 4 月以降非推奨。 代わりに、 |
|
|
実行するメインメソッドを含むクラスのフルネームです。このクラスはライブラリとして提供されるJARに含める必要があります。 コードでは、 |
|
の配列 |
main メソッドに渡されるパラメーター。 使用 動的値参照とは をクリックして、ジョブの実行に関する情報を含むパラメーターを設定します。 |
SparkPythonタスク
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
実行する Python ファイルの URI です。 DBFS パスと S3 パスがサポートされています。 このフィールドは必須です。 |
|
の配列 |
Python ファイルに渡されるコマンド ライン パラメーター。 使用 動的値参照とは をクリックして、ジョブの実行に関する情報を含むパラメーターを設定します。 |
SparkSubmitタスク
重要
Spark 送信タスクは、新しいクラスターでのみ呼び出すことができます。
new_cluster仕様では、
libraries
とspark_conf
はサポートされていません。 代わりに、--jars
と--py-files
を使用して Java ライブラリと Python ライブラリを追加し、--conf
Spark 構成を設定します。master
、deploy-mode
、およびexecutor-cores
は、 Databricksによって自動的に構成されます。パラメーターで指定 することはできません 。デフォルトにより、 Spark submit ジョブは使用可能なすべてのメモリを使用します ( Databricks サービス用に予約されたメモリを除く)。
--driver-memory
と--executor-memory
を小さい値に設定して、オフヒープ使用の余地を残すことができます。--jars
、--py-files
、--files
引数は、DBFS パスと S3 パスをサポートします。
たとえば、JAR が DBFS にアップロードされると仮定すると、次のパラメーターを設定して SparkPi
を実行できます。
{
"parameters": [
"--class",
"org.apache.spark.examples.SparkPi",
"dbfs:/path/to/examples.jar",
"10"
]
}
フィールド名 |
タイプ |
説明 |
---|---|---|
|
の配列 |
spark submit に渡されるコマンドライン パラメーター。 使用 動的値参照とは をクリックして、ジョブの実行に関する情報を含むパラメーターを設定します。 |
トリガータイプ
これらは、実行を起動できるトリガーの種類です。
タイプ |
説明 |
---|---|
|
定期的に実行をトリガーするスケジュール (cron スケジューラなど)。 |
|
1 回の実行を起動する 1 回限りのトリガー。 これは、UI または API を介してオンデマンドで 1 回の実行をトリガーした場合に発生します。 |
|
以前に失敗した実行の再試行としてトリガーされる実行を示します。 これは、障害が発生した場合にジョブの再実行を要求したときに発生します。 |
ビューアイテム
エクスポートされたコンテンツは HTML 形式です。 たとえば、エクスポートするビューがダッシュボードの場合、ダッシュボードごとに 1 つの HTML 文字列が返されます。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
ビューの内容。 |
|
|
ビュー アイテムの名前。 コード ビューの場合は、ノートブックの名前。 ダッシュボード ビューの場合は、ダッシュボードの名前。 |
|
ビュー アイテムの種類。 |
ビュータイプ
タイプ |
説明 |
---|---|
|
ノートブック ビューのアイテム。 |
|
ダッシュボード ビュー アイテム。 |
ビューToExport
エクスポートするビュー: コード、すべてのダッシュボード、またはすべて。
タイプ |
説明 |
---|---|
|
ノートブックのコード ビュー。 |
|
ノートブックのすべてのダッシュボード ビュー。 |
|
ノートブックのすべてのビュー。 |
Webhook
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
システム通知の送信先を参照する識別子。 このフィールドは必須です。 |
ウェブフック通知
フィールド名 |
タイプ |
説明 |
---|---|---|
|
実行の開始時に通知されるシステム宛先のオプションのリスト。 ジョブの作成、リセット、または更新で指定しない場合、リストは空になり、通知は送信されません。 |
|
|
実行が正常に完了したときに通知されるシステム宛先のオプションのリスト。 実行が |
|
|
実行が正常に完了しなかったときに通知されるシステム宛先のオプションのリスト。 実行が |
|
|
実行の期間が |
ワークスペースストレージ情報
ワークスペースのストレージ情報。
フィールド名 |
タイプ |
説明 |
---|---|---|
|
|
ファイルの保存先。 例: |