Jobs API 2.0

重要

この記事では、Jobs API の 2.0 バージョンについて説明します。 ただし、Databricks では、新規と既存のクライアントとスクリプトには Jobs API 2.1 を使うことが推奨されます。 2.0 から 2.1 バージョンへの変更について詳しくは、「Jobs API 2.0 から 2.1 への更新」をご覧ください。

Jobs API を使用すると、ジョブを作成、編集、および削除できます。 Jobs API に対する要求の最大許容サイズは 10 MB です。

Azure Databricks ジョブでの複数タスクのオーケストレーションをサポートする Jobs API への更新について詳しくは、「JJobs API 2.0 から 2.1 への更新」をご覧ください。

警告

シークレットをハード コーディングしたり、プレーンテキストとして保存したりしないでください。 Secrets API は、Databricks CLI でシークレットを管理するために使用できます。 ノートブックおよびジョブでシークレットを参照するには、シークレット ユーティリティ (dbutils.secrets) を使用します。

注意

Jobs API 要求を行っているときに 500 番台のエラーを受け取る場合、Databricks では、(30 秒以上の再試行間隔で) 最大 10 分間、要求を再試行することを推奨しています。

重要

Databricks REST API にアクセスするには、認証する必要があります。

作成

エンドポイント HTTP メソッド
2.0/jobs/create POST

新しいジョブを作成します。

この例では、毎晩 10:15 に JAR タスクを実行するジョブを作成します。

Request

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": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "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> は、Azure Databricks ワークスペース インスタンスの名前 (例: adb-1234567890123456.7.azuredatabricks.net) に置き換えます。
  • create-job.json の内容を、ソリューションに適したフィールドにします。

この例では、.netrc ファイルと jq を使用します。

Response

{
  "job_id": 1
}

要求の構造

重要

  • 新しいジョブ クラスターでジョブを実行すると、そのジョブは、Jobs Compute 価格の対象となる Jobs Compute (自動) ワークロードとして扱われます。
  • 既存の汎用クラスターでジョブを実行すると、All-Purpose Compute 価格の対象となる All-Purpose Compute (対話型) ワークロードとして扱われます。
フィールド名 Type 説明
existing_cluster_idまたはnew_cluster STRING または NewCluster existing_cluster_id の場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行しているときは、クラスターが応答を停止した場合、手動で再起動することが必要な場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。

new_cluster の場合、各実行に対して作成されるクラスターの説明。

PipelineTask を指定する場合、このフィールドは空にできます。
notebook_task または spark_jar_task または
spark_python_task または spark_submit_task または
pipeline_taskまたはrun_job_task
NotebookTask または SparkJarTask または SparkPythonTask または SparkSubmitTask または PipelineTask または RunJobTask notebook_task の場合は、このジョブでノートブックを実行する必要があることを示します。 このフィールドは、spark_jar_task と組み合わせて指定できません。

spark_jar_task の場合は、このジョブで JAR を実行する必要があることを示します。

spark_python_task の場合は、このジョブで Python ファイルを実行する必要があることを示します。

spark_submit_task の場合は、spark submit スクリプトでこのジョブを起動する必要があることを示します。

pipeline_task の場合は、このジョブで Delta Live Tables パイプラインを実行する必要があることを示します。

run_job_task の場合は、このジョブが別のジョブを実行する必要があることを示します。
name STRING ジョブの省略可能な名前。 既定値は Untitled です。
libraries Library の配列 ジョブを実行するクラスターにインストールされるライブラリの省略可能な一覧。 既定値は空の一覧です。
email_notifications JobEmailNotifications このジョブの実行が開始および完了したとき、およびこのジョブが削除されたときに通知される電子メール アドレス セット (省略可能)。 既定の動作では、電子メールは送信されません。
webhook_notifications WebhookNotifications このジョブの実行が開始、完了、または失敗したときに通知するシステム同期先のオプションのセット。
notification_settings JobNotificationSettings このジョブの email_notificationswebhook_notifications のそれぞれに通知を送信するときに使用されるオプションの通知設定。
timeout_seconds INT32 このジョブの各実行に適用されるタイムアウト (省略可能)。 既定の動作では、タイムアウトはありません。
max_retries INT32 失敗した実行を再試行する最大回数 (省略可能)。 次で完了した場合、実行は失敗と見なされます: FAILED result_state または
INTERNAL_ERROR
life_cycle_state 値 -1 は無期限に再試行することを意味し、値 0 は再試行しないことを意味します。 既定の動作では、再試行しません。
min_retry_interval_millis INT32 失敗した実行の開始からその後の再試行実行までの省略可能な最小間隔 (ミリ秒単位)。 既定の動作では、失敗した実行はすぐに再試行されます。
retry_on_timeout BOOL ジョブがタイム アウトした場合に再試行するかどうかを指定するポリシー (省略可能)。既定の動作では、タイムアウト時に再試行されません。
schedule CronSchedule このジョブの定期的なスケジュール (省略可能)。 既定の動作では、ジョブ UI で [今すぐ実行] をクリックするか、API 要求を runNow に送信してトリガーするとジョブが実行されます。
max_concurrent_runs INT32 ジョブの同時実行の最大許容数 (省略可能)。

同じジョブの複数の実行を同時に実行できるようにする場合は、この値を設定します。 これは、たとえば、頻繁なスケジュールでジョブをトリガーし、連続する実行を互いにオーバーラップさせたい場合や、入力パラメーターが異なる複数の実行をトリガーしたい場合などに便利です。

この設定は、新しい実行にのみ影響します。 たとえば、ジョブのコンカレンシーが 4 で、アクティブな同時実行が 4 つあるとします。 その後、コンカレンシーを 3 に設定しても、アクティブな実行はいずれも中止されません。 ただし、それ以降は、アクティブな実行が 3 個未満にならない限り、新しい実行はスキップされます。

この値は 1000 以下にする必要があります。 この値を 0 に設定すると、すべての新しい実行がスキップされます。 既定の動作では、1 つの同時実行のみが許可されます。

応答の構造

フィールド名 Type 説明
job_id INT64 新しく作成されたジョブの正規識別子。

リスト

エンドポイント HTTP メソッド
2.0/jobs/list GET

すべてのジョブを一覧表示します。

Request

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

<databricks-instance> は、Azure Databricks のワークスペース インスタンスの名前 (例: adb-1234567890123456.7.azuredatabricks.net) に置き換えます。

この例では、.netrc ファイルと jq を使用します。

Response

{
  "jobs": [
    {
      "job_id": 1,
      "settings": {
        "name": "Nightly model training",
        "new_cluster": {
          "spark_version": "7.3.x-scala2.12",
          "node_type_id": "Standard_D3_v2",
          "num_workers": 10
        },
        "libraries": [
          {
            "jar": "dbfs:/my-jar.jar"
          },
          {
            "maven": {
              "coordinates": "org.jsoup:jsoup:1.7.2"
            }
          }
        ],
        "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
    }
  ]
}

応答の構造

フィールド名 Type 説明
jobs Job の配列 ジョブの一覧。

削除

エンドポイント HTTP メソッド
2.0/jobs/delete POST

ジョブを削除し、JobSettings.email_notifications に指定されたアドレスに電子メールを送信します。 ジョブが既に削除されている場合、アクションは発生しません。 ジョブが削除された後は、その詳細も実行履歴もジョブ UI または API に表示されません。 この要求が完了すると、ジョブは確実に削除されます。 ただし、この要求の受信前にアクティブだった実行は、まだアクティブな場合があります。 それらは非同期的に終了されます。

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

置換前のコード:

この例では、.netrc ファイルを使用します。

要求の構造

フィールド名 Type 説明
job_id INT64 削除するジョブの正規識別子。 このフィールドは必須です。

Get

エンドポイント HTTP メソッド
2.0/jobs/get GET

1 つのジョブに関する情報を取得します。

Request

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 .

置換前のコード:

この例では、.netrc ファイルと jq を使用します。

Response

{
  "job_id": 1,
  "settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "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
}

要求の構造

フィールド名 Type 説明
job_id INT64 情報を取得するジョブの正規識別子。 このフィールドは必須です。

応答の構造

フィールド名 Type 説明
job_id INT64 このジョブの正規識別子。
creator_user_name STRING 作成者のユーザー名。 ユーザーが削除されている場合、このフィールドは応答に含められません。
settings JobSettings このジョブとそのすべての実行の設定。 これらの設定は、リセットまたは更新エンドポイント使用して更新できます。
created_time INT64 このジョブが作成された時刻をエポック ミリ秒 (1970 年 1 月 1 日 UTC からのミリ秒) で示したもの。

リセット

エンドポイント HTTP メソッド
2.0/jobs/reset POST

特定ジョブのすべての設定を上書きします。 ジョブの設定を部分的に更新するには、更新エンドポイントを使用します。

この要求例では、ジョブ 2 を create 例のジョブ 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": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "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> は、Azure Databricks ワークスペース インスタンスの名前 (例: adb-1234567890123456.7.azuredatabricks.net) に置き換えます。
  • reset-job.json の内容を、ソリューションに適したフィールドにします。

この例では、.netrc ファイルと jq を使用します。

要求の構造

フィールド名 Type 説明
job_id INT64 リセットするジョブの正規識別子。 これは必須フィールドです。
new_settings JobSettings ジョブの新しい設定。 これらの設定では、古い設定を完全に置き換えます。

JobSettings.timeout_seconds フィールドに対する変更は、アクティブな実行に適用されます。 他のフィールドへの変更は、今後の実行にのみ適用されます。

更新

エンドポイント HTTP メソッド
2.0/jobs/update POST

既存ジョブの特定の設定を追加、変更、または削除します。 すべてのジョブ設定を上書きするには、リセットエンドポイントを使用します。

この要求例では、ライブラリを削除し、create 例で定義されたジョブ 1 に電子メール通知設定を追加します。

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> は、Azure Databricks ワークスペース インスタンスの名前 (例: adb-1234567890123456.7.azuredatabricks.net) に置き換えます。
  • update-job.json の内容を、ソリューションに適したフィールドにします。

この例では、.netrc ファイルと jq を使用します。

要求の構造

フィールド名 Type 説明
job_id INT64 更新するジョブの正規識別子。 これは必須フィールドです。
new_settings JobSettings ジョブの新しい設定。

配列を除き、new_settings で指定された最上位フィールドは完全に置き換えられます。 配列はそれぞれのキー フィールド (task_key
job_cluster_key) に基づいてマージされ、同じキーを持つ配列エントリは完全に置き換えられます。 配列のマージを除き、入れ子になったフィールドの部分的な更新はサポートされていません。

JobSettings.timeout_seconds フィールドに対する変更は、アクティブな実行に適用されます。 他のフィールドへの変更は、今後の実行にのみ適用されます。
fields_to_remove STRING の配列です。 ジョブ設定の最上位フィールドを削除します。 tasks および job_clusters 配列からのエントリを除き、入れ子になったフィールドの削除はサポートされていません。 たとえば、このフィールドの有効な引数は次のようになります。
["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]

このフィールドは省略可能です。

今すぐ実行

重要

  • 1 つのワークスペースでのタスクの同時実行は、1000 に制限されています。 すぐに開始できない実行を要求した場合は、429 Too Many Requests 応答が返されます。
  • 1 時間に 1 つのワークスペースで作成できるジョブの数は、10000 に制限されます ("実行の送信" を含む)。 この制限は、REST API およびノートブック ワークフローによって作成されるジョブにも影響します。
エンドポイント HTTP メソッド
2.0/jobs/run-now POST

今すぐジョブを実行し、トリガーされた実行の run_id を返します。

ヒント

作成すぐに実行を一緒に呼び出す場合、代わりに実行の送信エンドポイントを使用できます。これを使用すると、ジョブを作成せずにワークロードを直接送信できます。

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> は、Azure Databricks ワークスペース インスタンスの名前 (例: adb-1234567890123456.7.azuredatabricks.net) に置き換えます。
  • run-job.json の内容を、ソリューションに適したフィールドにします。

この例では、.netrc ファイルと jq を使用します。

要求の構造

フィールド名 Type 説明
job_id INT64
jar_params STRING の配列です。 JAR タスクを含むジョブのパラメーターの一覧。例: "jar_params": ["john doe", "35"]。 これらのパラメーターは、Spark JAR タスクに指定されたメイン クラスの main 関数を呼び出すために使用されます。 run-now に指定されていない場合は、既定で空の一覧になります。 jar_params と notebook_params を組み合わせて指定することはできません。 このフィールドの JSON 表現 (つまり {"jar_params":["john doe","35"]}) は、10,000 バイト以下にする必要があります。
notebook_params ParamPair のマップ ノートブック タスクを含むジョブのキーから値へのマップ。例:
"notebook_params": {"name": "john doe", "age": "35"} このマップはノートブックに渡され、dbutils.widgets.get 関数を使用してアクセスできます。

run-now に指定されていない場合、トリガーされた実行ではジョブの基本パラメーターが使用されます。

notebook_params と jar_params を組み合わせて指定することはできません。

このフィールドの JSON 表現 (つまり、
{"notebook_params":{"name":"john doe","age":"35"}}) は 10,000 バイト以下にする必要があります。
python_params STRING の配列です。 Python タスクを含むジョブのパラメーターの一覧。例: "python_params": ["john doe", "35"]。 これらのパラメーターは、コマンド ライン パラメーターとして Python ファイルに渡されます。 run-now に指定されている場合、ジョブ設定に指定されたパラメーターを上書きします。 このフィールドの JSON 表現 (つまり {"python_params":["john doe","35"]}) は、10,000 バイト以下にする必要があります。
spark_submit_params STRING の配列です。 spark submit タスクを含むジョブのパラメーターの一覧。例:
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] これらのパラメーターは、コマンド ライン パラメーターとして spark-submit スクリプトに渡されます。 run-now に指定されている場合、ジョブ設定に指定されたパラメーターを上書きします。 このフィールドの JSON 表現は、10,000 バイト以下にする必要があります。
idempotency_token STRING ジョブ実行要求のべき等性を保証するためのトークン (省略可能)。 指定されたトークンを持つ実行がすでに存在する場合は、要求で新しい実行は作成されず、代わりに既存の実行の ID が返されます。 指定されたトークンを使用した実行が削除されると、エラーが返されます。

べき等性トークンを指定した場合は、エラーが発生したときに、要求が成功するまで再試行できます。 Azure Databricks によって、そのべき等性トークンで厳密に 1 回の実行が起動されることが保証されます。

このトークンは、64 文字以内で指定する必要があります。

詳細については、ジョブのべき等性を保証する方法に関する記事を参照してください。

応答の構造

フィールド名 Type 説明
run_id INT64 新しくトリガーされた実行のグローバルに一意の ID。
number_in_job INT64 ジョブのすべての実行の中での、この実行のシーケンス番号。

実行の送信

重要

  • 1 つのワークスペースでのタスクの同時実行は、1000 に制限されています。 すぐに開始できない実行を要求した場合は、429 Too Many Requests 応答が返されます。
  • 1 時間に 1 つのワークスペースで作成できるジョブの数は、10000 に制限されます ("実行の送信" を含む)。 この制限は、REST API およびノートブック ワークフローによって作成されるジョブにも影響します。
エンドポイント HTTP メソッド
2.0/jobs/runs/submit POST

1 回限りの実行を送信します。 このエンドポイントを使用すると、ジョブを作成せずにワークロードを直接送信できます。 ジョブが送信された後の実行状態を確認するには、jobs/runs/get API を使用します。

Request

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": "Standard_D3_v2",
    "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> は、Azure Databricks ワークスペース インスタンスの名前 (例: adb-1234567890123456.7.azuredatabricks.net) に置き換えます。
  • submit-job.json の内容を、ソリューションに適したフィールドにします。

この例では、.netrc ファイルと jq を使用します。

Response

{
  "run_id": 123
}

要求の構造

重要

  • 新しいジョブ クラスターでジョブを実行すると、そのジョブは、Jobs Compute 価格の対象となる Jobs Compute (自動) ワークロードとして扱われます。
  • 既存の汎用クラスターでジョブを実行すると、All-Purpose Compute 価格の対象となる All-Purpose Compute (対話型) ワークロードとして扱われます。
フィールド名 Type 説明
existing_cluster_idまたはnew_cluster STRING または NewCluster existing_cluster_id の場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行しているときは、クラスターが応答を停止した場合、手動で再起動することが必要な場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。

new_cluster の場合、各実行に対して作成されるクラスターの説明。

PipelineTask を指定する場合、このフィールドは空にできます。
notebook_task または spark_jar_task または
spark_python_task または spark_submit_task または
pipeline_taskまたはrun_job_task
NotebookTask または SparkJarTask または SparkPythonTask または SparkSubmitTask または PipelineTask または RunJobTask notebook_task の場合は、このジョブでノートブックを実行する必要があることを示します。 このフィールドは、spark_jar_task と組み合わせて指定できません。

spark_jar_task の場合は、このジョブで JAR を実行する必要があることを示します。

spark_python_task の場合は、このジョブで Python ファイルを実行する必要があることを示します。

spark_submit_task の場合は、spark submit スクリプトでこのジョブを起動する必要があることを示します。

pipeline_task の場合は、このジョブで Delta Live Tables パイプラインを実行する必要があることを示します。

run_job_task の場合は、このジョブが別のジョブを実行する必要があることを示します。
run_name STRING 実行の名前 (省略可能)。 既定値は Untitled です。
webhook_notifications WebhookNotifications このジョブの実行が開始、完了、または失敗したときに通知するシステム同期先のオプションのセット。
notification_settings JobNotificationSettings この実行の webhook_notifications のそれぞれに通知を送信するときに使用されるオプションの通知設定。
libraries Library の配列 ジョブを実行するクラスターにインストールされるライブラリの省略可能な一覧。 既定値は空の一覧です。
timeout_seconds INT32 このジョブの各実行に適用されるタイムアウト (省略可能)。 既定の動作では、タイムアウトはありません。
idempotency_token STRING ジョブ実行要求のべき等性を保証するためのトークン (省略可能)。 指定されたトークンを持つ実行がすでに存在する場合は、要求で新しい実行は作成されず、代わりに既存の実行の ID が返されます。 指定されたトークンを使用した実行が削除されると、エラーが返されます。

べき等性トークンを指定した場合は、エラーが発生したときに、要求が成功するまで再試行できます。 Azure Databricks によって、そのべき等性トークンで厳密に 1 回の実行が起動されることが保証されます。

このトークンは、64 文字以内で指定する必要があります。

詳細については、ジョブのべき等性を保証する方法に関する記事を参照してください。

応答の構造

フィールド名 Type 説明
run_id INT64 新しく送信された実行の正規識別子。

実行 リスト

エンドポイント HTTP メソッド
2.0/jobs/runs/list GET

開始時刻の降順で実行を一覧表示します。

注意

実行は 60 日後に自動的に削除されます。 60 日を超えた後もそれらを参照したい場合は、期限が切れる前に古い実行結果を保存する必要があります。 UI を使用してエクスポートするには、ジョブ実行結果のエクスポートに関する記事を参照してください。 Jobs API を使用してエクスポートするには、「実行のエクスポート」を参照してください。

Request

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> は、Azure Databricks ワークスペース インスタンスの名前 (例: adb-1234567890123456.7.azuredatabricks.net) に置き換えます。
  • <job-id> を、ジョブの ID にします。例: 123
  • <true-false> を、true または false にします。
  • <offset> を、offset 値にします。
  • <limit> を、limit 値にします。
  • <run-type> を、run_type 値にします。

この例では、.netrc ファイルと jq を使用します。

Response

{
  "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
}

要求の構造

フィールド名 Type 説明
active_onlyまたはcompleted_only BOOLまたはBOOL active_only が true の場合は、アクティブな実行だけが結果に含まれます。それ以外の場合は、アクティブと完了済みの両方の実行が一覧表示されます。 アクティブな実行は、PENDINGRUNNING、または TERMINATINGRunLifecycleState の実行です。 completed_only が true の場合は、このフィールドを true にできません。

completed_only が true の場合は、完了済みの実行だけが結果に含まれます。それ以外の場合は、アクティブと完了済みの両方の実行が一覧表示されます。 active_only が true の場合は、このフィールドを true にできません。
job_id INT64 実行を一覧表示するジョブ。 省略した場合、ジョブ サービスによってすべてのジョブの実行が一覧表示されます。
offset INT32 最新の実行を基準とした、返される最初の実行のオフセット。
limit INT32 返される実行の数。 この値は、0 より大きく 1000 未満にする必要があります。 既定値は 20 です。 要求で 0 の制限が指定されている場合、サービスでは代わりに上限が使用されます。
run_type STRING 返される実行の種類。 実行の種類の説明については、「Run」を参照してください。

応答の構造

フィールド名 Type 説明
runs Run の配列 実行の一覧 (開始順が最も新しいものから最も古いもの)。
has_more BOOL true の場合、指定されたフィルターに一致する追加の実行を一覧表示できます。

実行の取得

エンドポイント HTTP メソッド
2.0/jobs/runs/get GET

実行のメタデータを取得します。

注意

実行は 60 日後に自動的に削除されます。 60 日を超えた後もそれらを参照したい場合は、期限が切れる前に古い実行結果を保存する必要があります。 UI を使用してエクスポートするには、ジョブ実行結果のエクスポートに関する記事を参照してください。 Jobs API を使用してエクスポートするには、「実行のエクスポート」を参照してください。

Request

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 .

置換前のコード:

この例では、.netrc ファイルと jq を使用します。

Response

{
  "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"
}

要求の構造

フィールド名 Type 説明
run_id INT64 メタデータを取得する実行の正規識別子。 このフィールドは必須です。

応答の構造

フィールド名 Type 説明
job_id INT64 この実行を含むジョブの正規識別子。
run_id INT64 実行の正規識別子。 この ID は、すべてのジョブのすべての実行で一意です。
number_in_job INT64 ジョブのすべての実行の中での、この実行のシーケンス番号。 この値は 1 から始まります。
original_attempt_run_id INT64 この実行が、前回の実行試行の再試行である場合、このフィールドには元の試行の run_id が含まれます。それ以外の場合は、run_id と同じです。
state RunState 実行の結果とライフサイクルの状態。
schedule CronSchedule 定期的なスケジューラによってトリガーされた場合、この実行をトリガーした cron スケジュール。
task JobTask 実行によって行われたタスク (ある場合)。
cluster_spec ClusterSpec この実行が作成されたときのジョブのクラスター仕様のスナップショット。
cluster_instance ClusterInstance この実行に使用されるクラスター。 実行が新しいクラスターを使用するように指定されている場合、このフィールドは、ジョブ サービスが実行のためにクラスターを要求すると設定されます。
overriding_parameters RunParameters この実行に使用されるパラメーター。
start_time INT64 この実行が開始された時刻をエポック ミリ秒 (1970 年 1 月 1 日 UTC からのミリ秒) で示したもの。 これは、ジョブ タスクが実行を開始した時刻ではない場合があります。たとえば、ジョブが新しいクラスターで実行されるようにスケジュールされている場合、これは、クラスターの作成呼び出しが発行された時刻になります。
end_time INT64 この実行が終了した時刻をエポック ミリ秒 (1970 年 1 月 1 日 UTC からのミリ秒) で示したもの。 ジョブがまだ実行されている場合、このフィールドは 0 に設定されます。
setup_duration INT64 クラスターを設定するのにかかった時間 (ミリ秒)。 新しいクラスターで実行される実行の場合、これはクラスターの作成時間です。既存のクラスターで実行される実行の場合は、この時間が非常に短くなります。 実行の合計期間は、setup_duration の合計で、
execution_duration、および cleanup_duration です。 マルチタスク ジョブを実行する場合、setup_duration フィールドは 0 にセットされます。 マルチタスク ジョブの実行の合計期間は、以下の価値で
run_duration フィールドの値です。
execution_duration INT64 JAR またはノートブックでコマンドを実行してから、それが完了する、失敗する、タイムアウトになる、キャンセルされる、または予期しないエラーが発生するまでにかかった時間 (ミリ秒)。 実行の合計期間は、setup_durationexecution_duration、および以下の合計です
cleanup_duration マルチタスク ジョブを実行する場合、execution_duration フィールドは 0 にセットされます。 マルチタスク ジョブの実行の合計期間は、run_duration フィールドの値です。
cleanup_duration INT64 クラスターを終了し、関連付けられているすべての成果物をクリーンアップするのにかかった時間 (ミリ秒)。 実行の合計期間は、setup_durationexecution_duration、およびcleanup_duration の合計です。 マルチタスク ジョブを実行する場合、cleanup_duration フィールドは 0 にセットされます。 マルチタスク ジョブの実行の合計期間は、run_duration フィールドの値です。
run_duration INT64 ジョブの実行とすべての修復が完了するまでの時間 (ミリ秒単位)。 このフィールドは、マルチタスク ジョブの実行にのみセットされ、タスクの実行にはセットされません。 タスクの実行時間は、以下の合計です
setup_durationexecution_duration、および cleanup_duration
trigger TriggerType この実行を開始したトリガーの種類。
creator_user_name STRING 作成者のユーザー名。 ユーザーが削除されている場合、このフィールドは応答に含められません
run_page_url STRING 実行の詳細ページの URL。

実行のエクスポート

エンドポイント HTTP メソッド
2.0/jobs/runs/export GET

ジョブ実行タスクをエクスポートして取得します。

注意

ノートブック実行だけを HTML 形式でエクスポートできます。 他の種類の実行のエクスポートは失敗します。

Request

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 .

置換前のコード:

この例では、.netrc ファイルと jq を使用します。

Response

{
  "views": [ {
    "content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
    "name": "my-notebook",
    "type": "NOTEBOOK"
  } ]
}

JSON 応答から HTML ノートブックを抽出するには、この Python スクリプトをダウンロードして実行します。

注意

__DATABRICKS_NOTEBOOK_MODEL オブジェクトのノートブック本文はエンコードされます。

要求の構造

フィールド名 Type 説明
run_id INT64 実行の正規識別子。 これは必須フィールドです。
views_to_export ViewsToExport エクスポートするビュー (CODE、DASHBOARDS、または ALL)。 既定値は CODE です。

応答の構造

フィールド名 Type 説明
views ViewItem の配列 HTML 形式のエクスポートされたコンテンツ (ビュー アイテムごとに 1 つ)。

実行のキャンセル

エンドポイント HTTP メソッド
2.0/jobs/runs/cancel POST

ジョブの実行を取り消します。 実行は非同期で取り消されるため、この要求が完了したときに実行がまだ実行中である可能性があります。 その実行は間もなく終了します。 実行が既に最終の 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> }'

置換前のコード:

この例では、.netrc ファイルを使用します。

要求の構造

フィールド名 Type 説明
run_id INT64 取り消す実行の正規識別子。 このフィールドは必須です。

すべての実行のキャンセル

エンドポイント HTTP メソッド
2.0/jobs/runs/cancel-all POST

ジョブのアクティブな実行をすべて取り消します。 実行は非同期で取り消されるため、新しい実行の開始が妨げられることはありません。

このエンドポイントは、job_id パラメーターが有効であることを検証し、無効なパラメーターには HTTP 状態コード 400 を返します。

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

置換前のコード:

この例では、.netrc ファイルを使用します。

要求の構造

フィールド名 Type 説明
job_id INT64 実行をすべて取り消すジョブの正規識別子。 このフィールドは必須です。

実行による出力の取得

エンドポイント HTTP メソッド
2.0/jobs/runs/get-output GET

単一タスクの実行の出力とメタデータを取得します。 ノートブック タスクが dbutils.notebook.exit() 呼び出しによって値を返す場合、このエンドポイントを使用してその値を取得できます。 Azure Databricks では、この API は出力の最初の 5 MB を返すように制限されています。 より大きな結果を返すには、ジョブの結果をクラウド ストレージ サービスに保存できます。

このエンドポイントは、run_id パラメーターが有効であることを検証し、無効なパラメーターには HTTP 状態コード 400 を返します。

実行は 60 日後に自動的に削除されます。 60 日を超えた後もそれらを参照したい場合は、期限が切れる前に古い実行結果を保存する必要があります。 UI を使用してエクスポートするには、ジョブ実行結果のエクスポートに関する記事を参照してください。 Jobs API を使用してエクスポートするには、「実行のエクスポート」を参照してください。

Request

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 .

置換前のコード:

この例では、.netrc ファイルと jq を使用します。

Response

{
  "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()"
  }
}

要求の構造

フィールド名 Type 説明
run_id INT64 実行の正規識別子。 複数のタスクを含むジョブの場合、これはタスク実行の run_id です。 「実行による出力の取得」を参照してください。 このフィールドは必須です。

応答の構造

フィールド名 Type 説明
notebook_outputまたはerror NotebookOutput または STRING notebook_output の場合、ノートブック タスクの出力 (使用可能な場合)。 次を呼び出さずに (正常に、またはエラーで) 終了するノートブック タスク:
dbutils.notebook.exit() は、空の出力を持っていると見なされます。 このフィールドは設定されますが、その結果の値は空になります。

error の場合は、出力が使用できない理由を示すエラー メッセージ。 このメッセージは構造化されておらず、その正確な形式は変更される可能性があります。
metadata 実行 出力を除く、実行のすべての詳細。

実行の削除

エンドポイント HTTP メソッド
2.0/jobs/runs/delete POST

非アクティブな実行を削除します。 実行がアクティブである場合は、エラーが返されます。

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

置換前のコード:

この例では、.netrc ファイルを使用します。

要求の構造

フィールド名 Type 説明
run_id INT64 メタデータを取得する実行の正規識別子。

データ構造

このセクションの内容は次のとおりです。

ABFSSStorageInfo

Azure Data Lake Storage (ADLS) ストレージ情報。

フィールド名 Type 説明
destination STRING ファイルの送信先。 例: abfss://...

AutoScale

クラスター ワーカーの最小数と最大数を定義する範囲。

フィールド名 Type 説明
min_workers INT32 使用率が低いときにクラスターをスケールダウンできるワーカーの最小数。 これは、作成後にクラスターが持つワーカーの初期数です。
max_workers INT32 オーバーロード時にクラスターをスケールアップできるワーカーの最大数。 max_workers は min_workers よりも真に大きい数にする必要があります。

AzureAttributes

Azure に関連するクラスターの作成中に設定される属性。

フィールド名 Type 説明
first_on_demand INT32 クラスターの最初の first_on_demand ノードは、オンデマンド インスタンスに配置されます。 この値は 0 より大きくする必要があります。それ以外の場合、クラスター作成の検証が失敗します。 この値が現在のクラスター サイズ以上の場合、すべてのノードがオンデマンド インスタンスに配置されます。 この値が現在のクラスター サイズより小さい場合、first_on_demand ノードはオンデマンド インスタンスに配置され、残りは可用性インスタンスに配置されます。 この値はクラスター サイズに影響を与えません。また、クラスターの有効期間中に変更することはできません。
availability AzureAvailability first_on_demand の後続のすべてのノードで使用される可用性の種類。
spot_bid_max_price DOUBLE Azure スポット インスタンスに使用される最大入札価格。 これは、現在のスポット価格以上に設定できます。 また、この値を -1 (既定) に設定することもできます。この値は、インスタンスを価格に基づいて削除できないことを指定するものです。 インスタンスの価格は、スポット インスタンスの現在の価格か、または標準インスタンスの価格になります。 Microsoft Azure portal で、価格履歴と削除率を参照できます。

AzureAvailability

Azure インスタンスの可用性の種類の動作。

Type 説明
SPOT_AZURE スポット インスタンスを使用します。
ON_DEMAND_AZURE オンデマンド インスタンスを使用します。
SPOT_WITH_FALLBACK_AZURE スポット インスタンスを使用するほうが望ましいものの、スポット インスタンスを取得できない場合はオンデマンド インスタンスにフォールバックします (たとえば、Azure スポット価格が高すぎる場合やクォータ外の場合)。 プールの可用性には適用されません。

ClusterInstance

実行によって使用されるクラスターと Spark コンテキストの識別子。 これら 2 つの値は共に、すべての時間にわたって実行コンテキストを識別します。

フィールド名 Type 説明
cluster_id STRING 実行によって使用されるクラスターの正規識別子。 このフィールドは、既存のクラスター上の実行で常に使用可能です。 新しいクラスター上の実行の場合は、クラスターが作成されると使用可能になります。 この値は、/#setting/sparkui/$cluster_id/driver-logs を参照してログを表示するために使用できます。 実行が完了した後も、ログは引き続き使用できます。

識別子がまだ使用できない場合、このフィールドは応答に含められません。
spark_context_id STRING 実行によって使用される Spark コンテキストの正規識別子。 このフィールドは、実行が開始された後に入力されます。 この値は、/#setting/sparkui/$cluster_id/$spark_context_id を参照して Spark UI を表示するために使用できます。 実行が完了した後も、Spark UI は引き続き使用できます。

識別子がまだ使用できない場合、このフィールドは応答に含められません。

ClusterLogConf

クラスター ログへのパス。

フィールド名 Type 説明
dbfs DbfsStorageInfo クラスター ログの DBFS の場所。 ログの記録先を指定する必要があります。 たとえば、 にします。
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

重要

  • 新しいジョブ クラスターでジョブを実行すると、そのジョブは、Jobs Compute 価格の対象となる Jobs Compute (自動) ワークロードとして扱われます。
  • 既存の汎用クラスターでジョブを実行すると、All-Purpose Compute 価格の対象となる All-Purpose Compute (対話型) ワークロードとして扱われます。
フィールド名 Type 説明
existing_cluster_idまたはnew_cluster STRING または NewCluster existing_cluster_id の場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行しているときは、クラスターが応答を停止した場合、手動で再起動することが必要な場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。

new_cluster の場合、各実行に対して作成されるクラスターの説明。

PipelineTask を指定する場合、このフィールドは空にできます。
libraries Library の配列 ジョブを実行するクラスターにインストールされるライブラリの省略可能な一覧。 既定値は空の一覧です。

ClusterTag

クラスター タグの定義。

Type 説明
STRING タグのキー。 キーは以下である必要があります。

* 長さは 1 から 512 文字
* 文字 <>%*&+?\\/ を含めないこと
* 先頭に azuremicrosoftwindows を使用しないこと
STRING タグの値。 値の長さは UTF-8 で 256 文字以下にする必要があります。

CronSchedule

フィールド名 Type 説明
quartz_cron_expression STRING ジョブのスケジュールを記述する、Quartz 構文を使用した Cron 式。 詳細については、Cron Trigger に関するページを参照してください。 これは必須フィールドです。
timezone_id STRING Java タイムゾーン ID。 ジョブのスケジュールは、このタイムゾーンに対して解決されます。 詳細については、Java TimeZone に関するページを参照してください。 これは必須フィールドです。
pause_status STRING このスケジュールが一時停止されているかどうかを示します。 "PAUSED" または "UNPAUSED" のいずれか。

DbfsStorageInfo

DBFS ストレージ情報。

フィールド名 Type 説明
destination STRING DBFS の接続先。 例: dbfs:/my/path

FileStorageInfo

ファイル ストレージ情報。

注意

この場所の種類は、Databricks Container Services を使用して設定されたクラスターでのみ使用できます。

フィールド名 Type 説明
destination STRING ファイルの送信先。 例: file:/my/file.sh

InitScriptInfo

init スクリプトへのパス。

Databricks Container Services での init スクリプトの使用手順については、「init スクリプトを使用する」を参照してください。

注意

ファイル ストレージの種類 (フィールド名: file) は、Databricks Container Services を使用して設定されたクラスターでのみ使用できます。 「FileStorageInfo」を参照してください。

フィールド名 Type 説明
workspace または
dbfs (非推奨)

OR
abfss
WorkspaceStorageInfo

DbfsStorageInfo (非推奨)

ABFSSStorageInfo
init スクリプトのワークスペースの場所。 ログの記録先を指定する必要があります。 たとえば、次のように入力します。
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(非推奨) init スクリプトの DBFS の場所。 ログの記録先を指定する必要があります。 たとえば、次のように入力します。
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

init スクリプトのAzure Data Lake Storage (ADLS) の場所。 ログの記録先を指定する必要があります。 たとえば、{ "abfss": { "destination" : "abfss://..." } } のように指定します。

Job

フィールド名 Type 説明
job_id INT64 このジョブの正規識別子。
creator_user_name STRING 作成者のユーザー名。 ユーザーがすでに削除されている場合、このフィールドは応答に含められません。
run_as STRING ジョブの実行に使用されるユーザー名。 run_as は現在のジョブ設定に基づいており、ジョブのアクセス制御が無効になっている場合はジョブの作成者に、ジョブのアクセス制御が有効になっている場合は is_owner アクセス許可に設定されます。
settings JobSettings このジョブとそのすべての実行の設定。 これらの設定は、resetJob メソッドを使用して更新できます。
created_time INT64 このジョブが作成された時刻をエポック ミリ秒 (1970 年 1 月 1 日 UTC からのミリ秒) で示したもの。

JobEmailNotifications

重要

on_start、on_success、および on_failure フィールドではラテン文字 (ASCII 文字セット) のみを使用できます。 非 ASCII 文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例として、中国語、日本語の漢字、絵文字があります。

フィールド名 Type 説明
on_start STRING の配列です。 実行が開始されたときに通知される電子メール アドレスの一覧。 ジョブの作成、リセット、または更新時に指定されていない場合、一覧は空であり、通知は送信されません。
on_success STRING の配列です。 実行が正常に完了したときに通知される電子メール アドレスの一覧。 実行は、TERMINATEDlife_cycle_state および SUCCESSFULresult_state で終了している場合、正常に完了したと見なされます。 ジョブの作成、リセット、または更新時に指定されていない場合、一覧は空であり、通知は送信されません。
on_failure STRING の配列です。 実行が正常に完了しなかったときに通知される電子メール アドレスの一覧。 実行は、次で終了している場合に、正常に完了しなかったと見なされます: INTERNAL_ERROR
life_cycle_state または SKIPPEDFAILED、あるいは TIMED_OUT result_state。 これがジョブの作成、リセット、または更新時に指定されていない場合、一覧は空であり、通知は送信されません。
on_duration_warning_threshold_exceeded STRING の配列です。 実行の期間が health フィールドの RUN_DURATION_SECONDS メトリックに指定されたしきい値を超えた場合に通知を受け取るメール アドレスのリスト。 ジョブの health フィールドに RUN_DURATION_SECONDS メトリックのルールが指定されていない場合、通知は送信されません。
no_alert_for_skipped_runs BOOL true の場合、実行がスキップされたときに、on_failure に指定された受信者に電子メールを送信しません。
フィールド名 Type 説明
on_start Webhook の配列 実行が開始されたときに通知を受け取るシステム宛先のリスト (オプション)。 ジョブの作成、リセット、または更新時に指定されていない場合、一覧は空であり、通知は送信されません。 on_start プロパティには、最大 3 つの宛先を指定できます。
on_success Webhook の配列 実行が正常に完了したときに通知を受け取るシステム宛先のリスト (オプション)。 実行は、TERMINATEDlife_cycle_state および SUCCESSFULresult_state で終了している場合、正常に完了したと見なされます。 ジョブの作成、リセット、または更新時に指定されていない場合、一覧は空であり、通知は送信されません。 on_success プロパティには、最大 3 つの宛先を指定できます。
on_failure Webhook の配列 実行の正常に完了しなかった場合に通知を受け取るシステム宛先のリスト (オプション)。 実行は、次で終了している場合に、正常に完了しなかったと見なされます: INTERNAL_ERROR
life_cycle_state または SKIPPEDFAILED、あるいは TIMED_OUT result_state。 これがジョブの作成、リセット、または更新時に指定されていない場合、一覧は空であり、通知は送信されません。 on_failure プロパティには、最大 3 つの宛先を指定できます。
on_duration_warning_threshold_exceeded Webhook の配列 実行の期間が health フィールドの RUN_DURATION_SECONDS メトリックに指定されたしきい値を超えた場合に通知を受け取るシステム宛先のリスト (オプション)。 on_duration_warning_threshold_exceeded プロパティには、最大 3 つの宛先を指定できます。

JobNotificationSettings

フィールド名 Type 説明
no_alert_for_skipped_runs BOOL true の場合、実行がスキップされたときに、on_failure に指定された受信者に通知を送信しません。
no_alert_for_canceled_runs BOOL true の場合、実行がキャンセルされたときに、on_failure に指定された受信者に通知を送信しません。
alert_on_last_attempt BOOL true の場合、再試行された実行について on_start で指定された受信者に通知を送信せず、実行の最後の再試行まで on_failure で指定された受信者に通知を送信しません。

JobSettings

重要

  • 新しいジョブ クラスターでジョブを実行すると、そのジョブは、Jobs Compute 価格の対象となる Jobs Compute (自動) ワークロードとして扱われます。
  • 既存の汎用クラスターでジョブを実行すると、All-Purpose Compute 価格の対象となる All-Purpose Compute (対話型) ワークロードとして扱われます。

ジョブの設定。 これらの設定は、resetJob メソッドを使用して更新できます。

フィールド名 Type 説明
existing_cluster_idまたはnew_cluster STRING または NewCluster existing_cluster_id の場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行しているときは、クラスターが応答を停止した場合、手動で再起動することが必要な場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。

new_cluster の場合、各実行に対して作成されるクラスターの説明。

PipelineTask を指定する場合、このフィールドは空にできます。
notebook_task または spark_jar_task または
spark_python_task または spark_submit_task または
pipeline_taskまたはrun_job_task
NotebookTask または SparkJarTask または SparkPythonTask または SparkSubmitTask または PipelineTask または RunJobTask notebook_task の場合は、このジョブでノートブックを実行する必要があることを示します。 このフィールドは、spark_jar_task と組み合わせて指定できません。

spark_jar_task の場合は、このジョブで JAR を実行する必要があることを示します。

spark_python_task の場合は、このジョブで Python ファイルを実行する必要があることを示します。

spark_submit_task の場合は、spark submit スクリプトでこのジョブを起動する必要があることを示します。

pipeline_task の場合は、このジョブで Delta Live Tables パイプラインを実行する必要があることを示します。

run_job_task の場合は、このジョブが別のジョブを実行する必要があることを示します。
name STRING ジョブの省略可能な名前。 既定値は Untitled です。
libraries Library の配列 ジョブを実行するクラスターにインストールされるライブラリの省略可能な一覧。 既定値は空の一覧です。
email_notifications JobEmailNotifications このジョブの実行が開始または完了したとき、およびこのジョブが削除されたときに通知される電子メール アドレスのセット (省略可能)。 既定の動作では、電子メールは送信されません。
webhook_notifications WebhookNotifications このジョブの実行が開始、完了、または失敗したときに通知するシステム同期先のオプションのセット。
notification_settings JobNotificationSettings このジョブの email_notificationswebhook_notifications のそれぞれに通知を送信するときに使用されるオプションの通知設定。
timeout_seconds INT32 このジョブの各実行に適用されるタイムアウト (省略可能)。 既定の動作では、タイムアウトはありません。
max_retries INT32 失敗した実行を再試行する最大回数 (省略可能)。 次で完了した場合、実行は失敗と見なされます: FAILED result_state または
INTERNAL_ERROR
life_cycle_state 値 -1 は無期限に再試行することを意味し、値 0 は再試行しないことを意味します。 既定の動作では、再試行しません。
min_retry_interval_millis INT32 試行間の最小間隔 (ミリ秒単位) (省略可能)。 既定の動作では、失敗した実行はすぐに再試行されます。
retry_on_timeout BOOL ジョブがタイム アウトした場合に再試行するかどうかを指定するポリシー (省略可能)。既定の動作では、タイムアウト時に再試行されません。
schedule CronSchedule このジョブの定期的なスケジュール (省略可能)。 既定の動作では、ジョブ UI で [今すぐ実行] をクリックするか、API 要求を次に送信してトリガーされた場合にのみ、ジョブが実行されます:
runNow
max_concurrent_runs INT32 ジョブの同時実行の最大許容数 (省略可能)。

同じジョブの複数の実行を同時に実行できるようにする場合は、この値を設定します。 これは、たとえば、頻繁なスケジュールでジョブをトリガーし、連続する実行を互いにオーバーラップさせたい場合や、入力パラメーターが異なる複数の実行をトリガーしたい場合などに便利です。

この設定は、新しい実行にのみ影響します。 たとえば、ジョブのコンカレンシーが 4 で、アクティブな同時実行が 4 つあるとします。 その後、コンカレンシーを 3 に設定しても、アクティブな実行はいずれも中止されません。 ただし、それ以降は、アクティブな実行が 3 つ未満でない限り、新しい実行はスキップされます。

この値は 1000 以下にする必要があります。 この値を 0 に設定すると、すべての新しい実行がスキップされます。 既定の動作では、1 つの同時実行のみが許可されます。
health JobsHealthRules ジョブに対して定義されている正常性ルール セット (オプション)。

JobTask

フィールド名 Type 説明
notebook_task または spark_jar_task または
spark_python_task または spark_submit_task または
pipeline_taskまたはrun_job_task
NotebookTask または SparkJarTask または SparkPythonTask または SparkSubmitTask または PipelineTask または RunJobTask notebook_task の場合は、このジョブでノートブックを実行する必要があることを示します。 このフィールドは、spark_jar_task と組み合わせて指定できません。

spark_jar_task の場合は、このジョブで JAR を実行する必要があることを示します。

spark_python_task の場合は、このジョブで Python ファイルを実行する必要があることを示します。

spark_submit_task の場合は、spark submit スクリプトでこのジョブを起動する必要があることを示します。

pipeline_task の場合は、このジョブで Delta Live Tables パイプラインを実行する必要があることを示します。

run_job_task の場合は、このジョブが別のジョブを実行する必要があることを示します。

JobsHealthRule

フィールド名 Type 説明
metric STRING 特定の正常性ルールに対して評価される正常性メトリックを指定します。 有効な値は RUN_DURATION_SECONDS です。
operator STRING 正常性メトリック値と指定されたしきい値の比較に使用する演算子を指定します。 有効な値は GREATER_THAN です。
value INT32 正常性ルールに準拠するために正常性メトリックが満たす必要があるしきい値を指定します。

JobsHealthRules

フィールド名 Type 説明
rules JobsHealthRule の配列 ジョブに対して定義できる正常性ルール セット (オプション)。

ライブラリ

フィールド名 Type 説明
jar または egg または whl または
pypi または maven または cran
STRINGSTRINGSTRINGPythonPyPiLibraryMavenLibraryRCranLibrary jar の場合は、インストールする JAR の URI。 DBFS と ADLS (abfss) の URI がサポートされています。 例: { "jar": "dbfs:/mnt/databricks/library.jar" } または
{ "jar": "abfss://<container-path>/library.jar" } ADLS を使用する場合は、クラスターにライブラリに対する読み取りアクセス権限があることを確認してください。

egg の場合、インストールする egg の URI。 DBFS と ADLS の URI がサポートされています。 例: { "egg": "dbfs:/my/egg" } または
{ "egg": "abfss://<container-path>/egg" }

whl の場合は、インストールする wheel または zip 形式の wheels の URI。 DBFS と ADLS の URI がサポートされています。 例: { "whl": "dbfs:/my/whl" } または
{ "whl": "abfss://<container-path>/whl" } ADLS を使用する場合は、クラスターにライブラリに対する読み取りアクセス権限があることを確認してください。 また、wheel ファイル名は正しい規則を使用する必要があります。 zip 形式の wheels をインストールする場合は、ファイル名のサフィックスを .wheelhouse.zip にする必要があります。

pypi の場合、インストールする PyPI ライブラリを指定します。 repo フィールドの指定は省略可能であり、指定しない場合、既定の pip インデックスが使用されます。 次に例を示します。
{ "package": "simplejson", "repo": "https://my-repo.com" }

maven の場合は、インストールする Maven ライブラリを指定します。 次に例を示します。
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

cran の場合、インストールする CRAN ライブラリを指定します。

MavenLibrary

フィールド名 Type 説明
coordinates STRING Gradle 形式の Maven 座標。 (例: org.jsoup:jsoup:1.7.2)。 これは必須フィールドです。
repo STRING Maven パッケージのインストール元になる Maven リポジトリ。 省略した場合、Maven Central Repository と Spark Packages の両方が検索されます。
exclusions STRING の配列です。 除外する依存関係の一覧。 (例: ["slf4j:slf4j", "*:hadoop-client"])。

Maven 依存関係の除外: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

NewCluster

フィールド名 Type 説明
num_workersまたはautoscale INT32 または AutoScale num_workers の場合は、このクラスターに必要なワーカー ノードの数。 1 つのクラスターには 1 台の Spark ドライバーと num_workers の Executor、全体で num_workers + 1 Spark ノードがあります。

注: クラスターのプロパティを読み取るときに、このフィールドには実際の現行ワーカー数ではなく、必要なワーカー数が反映されます。 たとえば、クラスターのサイズを 5 台から 10 台のワーカーへと変更すると、このフィールドは即座に更新されて、目標サイズである 10 台のワーカーが反映されます。一方、spark_info に一覧表示されているワーカーは、新しいノードがプロビジョニングされるにしたがって 5 台から10 台へと徐々に増加します。

自動スケーリングの場合、負荷に基づいてクラスターを自動的にスケール アップおよびダウンするために必要なパラメーター。
spark_version STRING クラスターの Spark バージョン。 使用可能な Spark バージョンのリストは、GET 2.0/clusters/spark-versions 呼び出しを使用して取得できます。 これは必須フィールドです。
spark_conf SparkConfPair 省略可能なユーザー指定の Spark 構成キーと値のペアのセットを含んでいるオブジェクト。 追加の JVM オプションの文字列をドライバーと Executor に
それぞれ spark.driver.extraJavaOptionsspark.executor.extraJavaOptions

Spark conf の例:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} または
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING このフィールドは、単一の値を通じて使用されるリソースをこのクラスターのそれぞれの Spark ノードにエンコードします。 たとえば、Spark ノードは、メモリまたはコンピューティング集約型のワークロード用にプロビジョニングと最適化を行うことができます。使用できるノードの種類のリストは、GET 2.0/clusters/list-node-types 呼び出しを使用して取得できます。 このフィールド、instance_pool_id フィールド、またはノード型 ID またはインスタンス プール ID を指定するクラスター ポリシーが必要です。
driver_node_type_id STRING Spark ドライバーのノードの種類。 このフィールドは省略可能です。設定が解除されている場合、ドライバー ノードの種類は、上に定義されている node_type_id と同じ値として設定されます。
custom_tags ClusterTag クラスター リソースのタグのセットを含むオブジェクト。 Databricks では、default_tags の他にこれらのタグを使用してすべてのクラスター リソース (VM など) にタグを設定します。

メモ:

* タグは、コンピューティング最適化やメモリ最適化などのレガシ ノードの種類ではサポートされていません
* Databricks では、最大 45 個のカスタム タグを使用できます
cluster_log_conf ClusterLogConf Spark ログを長期的なストレージの保存先に配信する構成。 1 つのクラスターに対して指定できる保存先は 1 つのみです。 conf が指定されている場合、ログは 5 mins ごとに保存先に配信されます。 ドライバー ログの保存先は <destination>/<cluster-id>/driver ですが、Executor ログの保存先は <destination>/<cluster-id>/executor です。
init_scripts InitScriptInfo の配列 init スクリプトを保存するための構成。 任意の数のスクリプトを指定できます。 スクリプトは、指定された順序で順番に実行されます。 cluster_log_conf を指定した場合、init スクリプトのログは次に送信されます。
<destination>/<cluster-id>/init_scripts
spark_env_vars SparkEnvPair 省略可能な、ユーザー指定の環境変数のキーと値のペアのセットを含んでいるオブジェクト。 フォーム (X、Y) のキーと値のペアのエクスポートは、そのままの状態 (つまり、
export X='Y') で、ドライバーとワーカーの起動中に行われます。

SPARK_DAEMON_JAVA_OPTS のセットを追加で指定するには、次の例に示すように、$SPARK_DAEMON_JAVA_OPTS に追加することをお勧めしています。 これにより、すべての既定の Databricks マネージド環境変数も確実に含められます。

Spark 環境変数の例:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} または
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
enable_elastic_disk BOOL ローカル ストレージの自動スケーリング: 有効にすると、このクラスターでは、Spark ワーカーでディスク領域が不足している場合、追加のディスク領域が動的に取得されます。 詳細については、ローカル ストレージの自動スケーリングの有効化に関する記事を参照してください。
driver_instance_pool_id STRING ドライバー ノードに使用するインスタンス プールの省略可能な ID。 instance_pool_id も指定する必要があります。 詳細については、インスタンス プール API に関するページを参照してください。
instance_pool_id STRING クラスター ノードに使用するインスタンス プールの省略可能な ID。 driver_instance_pool_id がある場合、
instance_pool_id はワーカー ノードにのみ使用されます。 それ以外の場合は、ドライバー ノードとワーカー ノードの両方に使用されます。 詳細については、インスタンス プール API に関するページを参照してください。

NotebookOutput

フィールド名 Type 説明
result STRING dbutils.notebook.exit() に渡される値。 Azure Databricks では、この API は値の最初の 1 MB を返すように制限されています。 より大きな結果の場合、ジョブは結果をクラウド ストレージ サービスに保存できます。 dbutils.notebook.exit() が呼び出されたことがない場合、このフィールドは存在しません。
truncated BOOLEAN 結果が切り捨てられたかどうか。

NotebookTask

すべての出力セルは、8 MB のサイズになります。 セルの出力サイズがそれより大きい場合、実行の残りの部分は取り消され、実行は失敗としてマークされます。 その場合は、他のセルのコンテンツ出力の一部も欠落する可能性があります。

制限を超えているセルを見つけるのに支援が必要な場合は、汎用クラスターに対してノートブックを実行し、このノートブックの自動保存の手法を使用します。

フィールド名 Type 説明
notebook_path STRING Azure Databricks ワークスペースで実行するノートブックの絶対パス。 このパスはスラッシュで始まる必要があります。 これは必須フィールドです。
revision_timestamp LONG ノートブックのリビジョンのタイムスタンプ。
base_parameters ParamPair のマップ このジョブの各実行に使用される基本パラメーター。 実行が、パラメーターを指定した run-now への呼び出しによって開始される場合、2 つのパラメーター マップはマージされます。 base_parametersrun-now に同じキーが指定されている場合は、run-now の値が使用されます。

ジョブ実行に関するコンテキストをジョブ タスクに渡す」を使用して、ジョブ実行に関する情報を含むパラメーターを設定します。

ノートブックが、ジョブの base_parameters または run-now オーバーライド パラメーターに指定されていないパラメーターを受け取る場合は、ノートブックの既定値が使用されます。

dbutils.widgets.get を使用して、これらのパラメーターをノートブックで取得します。

ParamPair

ノートブック タスクを実行するジョブの名前ベースのパラメーター。

重要

このデータ構造のフィールドでは、ラテン文字 (ASCII 文字セット) のみを使用できます。 非 ASCII 文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例として、中国語、日本語の漢字、絵文字があります。

Type 説明
STRING パラメーター名。 dbutils.widgets.get に渡して値を取得します。
STRING パラメーター値。

PipelineTask

フィールド名 Type 説明
pipeline_id STRING 実行する Delta Live Tables パイプライン タスクのフル ネーム。

PythonPyPiLibrary

フィールド名 Type 説明
package STRING インストールする PyPI パッケージの名前。 オプションの正確なバージョン指定もサポートされています。 例: simplejson および simplejson==3.8.0。 これは必須フィールドです。
repo STRING パッケージが存在するリポジトリ。 指定しない場合、既定の pip インデックスが使用されます。

RCranLibrary

フィールド名 Type 説明
package STRING インストールする CRAN パッケージの名前。 これは必須フィールドです。
repo STRING パッケージが存在するリポジトリ。 指定しない場合、既定の CRAN リポジトリが使用されます。

Run

出力を除いた、実行に関するすべての情報。 出力は、getRunOutput メソッドを使用して別個に取得できます。

フィールド名 Type 説明
job_id INT64 この実行を含むジョブの正規識別子。
run_id INT64 実行の正規識別子。 この ID は、すべてのジョブのすべての実行で一意です。
creator_user_name STRING 作成者のユーザー名。 ユーザーがすでに削除されている場合、このフィールドは応答に含められません。
number_in_job INT64 ジョブのすべての実行の中での、この実行のシーケンス番号。 この値は 1 から始まります。
original_attempt_run_id INT64 この実行が、前回の実行試行の再試行である場合、このフィールドには元の試行の run_id が含まれます。それ以外の場合は、run_id と同じです。
state RunState 実行の結果とライフサイクルの状態。
schedule CronSchedule 定期的なスケジューラによってトリガーされた場合、この実行をトリガーした cron スケジュール。
task JobTask 実行によって行われたタスク (ある場合)。
cluster_spec ClusterSpec この実行が作成されたときのジョブのクラスター仕様のスナップショット。
cluster_instance ClusterInstance この実行に使用されるクラスター。 実行が新しいクラスターを使用するように指定されている場合、このフィールドは、ジョブ サービスが実行のためにクラスターを要求すると設定されます。
overriding_parameters RunParameters この実行に使用されるパラメーター。
start_time INT64 この実行が開始された時刻をエポック ミリ秒 (1970 年 1 月 1 日 UTC からのミリ秒) で示したもの。 これは、ジョブ タスクが実行を開始した時刻ではない場合があります。たとえば、ジョブが新しいクラスターで実行されるようにスケジュールされている場合、これは、クラスターの作成呼び出しが発行された時刻になります。
setup_duration INT64 クラスターを設定するのにかかった時間 (ミリ秒)。 新しいクラスターで実行される実行の場合、これはクラスターの作成時間です。既存のクラスターで実行される実行の場合は、この時間が非常に短くなります。
execution_duration INT64 JAR またはノートブックでコマンドを実行してから、それが完了する、失敗する、タイムアウトになる、キャンセルされる、または予期しないエラーが発生するまでにかかった時間 (ミリ秒)。
cleanup_duration INT64 クラスターを終了し、関連付けられているすべての成果物をクリーンアップするのにかかった時間 (ミリ秒)。 実行の合計期間は、setup_duration、execution_duration、および cleanup_duration の合計です。
end_time INT64 この実行が終了した時刻をエポック ミリ秒 (1970 年 1 月 1 日 UTC からのミリ秒) で示したもの。 ジョブがまだ実行されている場合、このフィールドは 0 に設定されます。
trigger TriggerType この実行を開始したトリガーの種類。
run_name STRING 実行の名前 (省略可能)。 既定値は Untitled です。 許容される最大長は、UTF-8 エンコードでは 4096 バイトです。
run_page_url STRING 実行の詳細ページの URL。
run_type STRING 実行の種類。

* JOB_RUN - 通常 ジョブ 実行。 すぐに実行を使用して作成された実行。
* WORKFLOW_RUN - ワークフロー 実行。 dbutils.notebook.run を使用して作成された実行。
* SUBMIT_RUN - 送信 実行。 すぐに実行を使用して作成された実行。
attempt_number INT32 トリガーされたジョブ実行に対するこの実行試行のシーケンス番号。 実行の最初の試行では、attempt_number は 0 になります。 最初の実行試行が失敗し、ジョブに再試行ポリシー (max_retries> 0) がある場合は、元の試行の ID の original_attempt_run_id と、増分する attempt_number を使用して後続実行が作成されます。 実行は成功するまで再試行され、最大 attempt_number はジョブの max_retries 値と同じになります。

RunJobTask

フィールド名 Type 説明
job_id INT32 実行するジョブの一意識別子。 これは必須フィールドです。

RunLifeCycleState

実行のライフサイクルの状態。 許可される状態の遷移は次のとおりです。

  • PENDING ->RUNNING ->TERMINATING ->TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
状態 説明
PENDING 実行がトリガーされました。 同じジョブのアクティブな実行がまだない場合は、クラスターと実行コンテキストが準備されています。 同じジョブのアクティブな実行が既に存在する場合は、リソースを準備せずに、実行はすぐに SKIPPED 状態に移行します。
RUNNING この実行のタスクが実行されています。
TERMINATING この実行のタスクが完了し、クラスターと実行コンテキストがクリーンアップされています。
TERMINATED この実行のタスクが完了し、クラスターと実行コンテキストがクリーンアップされました。 この状態が最終です。
SKIPPED 同じジョブの以前の実行が既にアクティブだったため、この実行は中止されました。 この状態が最終です。
INTERNAL_ERROR 長期間にわたるネットワーク障害など、ジョブ サービスのエラーを示す例外的な状態。 新しいクラスターでの実行が INTERNAL_ERROR 状態で終了した場合、ジョブ サービスはできるだけ早くクラスターを終了します。 この状態が最終です。

RunParameters

この実行のパラメーター。 ジョブ タスクの種類に応じて、jar_params、python_params、または notebook_params のいずれか 1 つだけを run-now 要求に指定する必要があります。 Spark JAR タスクまたは Python タスクを含むジョブは、位置ベースのパラメーターの一覧を受け取り、ノートブック タスクを含むジョブはキー値のマップを受け取ります。

フィールド名 Type 説明
jar_params STRING の配列です。 Spark JAR タスクを含むジョブのパラメーター一覧。例: "jar_params": ["john doe", "35"]。 これらのパラメーターは、Spark JAR タスクに指定されたメイン クラスの main 関数を呼び出すために使用されます。 run-now に指定されていない場合は、既定で空の一覧になります。 jar_params と notebook_params を組み合わせて指定することはできません。 このフィールドの JSON 表現 (つまり {"jar_params":["john doe","35"]}) は、10,000 バイト以下にする必要があります。

ジョブ実行に関するコンテキストをジョブ タスクに渡す」を使用して、ジョブ実行に関する情報を含むパラメーターを設定します。
notebook_params ParamPair のマップ ノートブック タスクを含むジョブのキーから値へのマップ。例:
"notebook_params": {"name": "john doe", "age": "35"} このマップはノートブックに渡され、dbutils.widgets.get 関数を使用してアクセスできます。

run-now に指定されていない場合、トリガーされた実行ではジョブの基本パラメーターが使用されます。

notebook_params を jar_params と組み合わせて指定することはできません。

ジョブ実行に関するコンテキストをジョブ タスクに渡す」を使用して、ジョブ実行に関する情報を含むパラメーターを設定します。

このフィールドの JSON 表現 (つまり、
{"notebook_params":{"name":"john doe","age":"35"}}) は 10,000 バイト以下にする必要があります。
python_params STRING の配列です。 Python タスクを含むジョブのパラメーターの一覧。例: "python_params": ["john doe", "35"]。 これらのパラメーターは、コマンド ライン パラメーターとして Python ファイルに渡されます。 run-now に指定されている場合、ジョブ設定に指定されたパラメーターを上書きします。 このフィールドの JSON 表現 (つまり {"python_params":["john doe","35"]}) は、10,000 バイト以下にする必要があります。

ジョブ実行に関するコンテキストをジョブ タスクに渡す」を使用して、ジョブ実行に関する情報を含むパラメーターを設定します。

> [重要] >> これらのパラメーターには、ラテン文字 (ASCII 文字セット) のみを使用できます。 > 非 ASCII 文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例としては、> 中国語、日本語の漢字、絵文字があります。
spark_submit_params STRING の配列です。 spark submit タスクを含むジョブのパラメーターの一覧。例:
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] これらのパラメーターは、コマンド ライン パラメーターとして spark-submit スクリプトに渡されます。 run-now に指定されている場合、ジョブ設定に指定されたパラメーターを上書きします。 このフィールドの JSON 表現 (つまり {"python_params":["john doe","35"]}) は、10,000 バイト以下にする必要があります。

ジョブ実行に関するコンテキストをジョブ タスクに渡す」を使用して、ジョブ実行に関する情報を含むパラメーターを設定します。

> [重要] >> これらのパラメーターには、ラテン文字 (ASCII 文字セット) のみを使用できます。 > 非 ASCII 文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例としては、> 中国語、日本語の漢字、絵文字があります。

RunResultState

実行の結果の状態。

  • life_cycle_state = TERMINATED の場合: 実行にタスクがあった場合は、結果が使用可能になることが保証されており、これはタスクの結果を示しています。
  • life_cycle_state = PENDINGRUNNING、または SKIPPED の場合、結果の状態は使用できません。
  • life_cycle_state = TERMINATING または lifecyclestate = INTERNAL_ERROR の場合: 実行にタスクがあり、それを開始できた場合、結果の状態は使用可能です。

一度使用可能になると、結果の状態は決して変わりません。

状態 説明
SUCCESS タスクが正常に完了しました。
FAILED タスクはエラーで完了しました。
TIMEDOUT 実行は、タイムアウトに達した後に停止されました。
CANCELED 実行は、ユーザーの要求によって取り消されました。

RunState

フィールド名 Type 説明
life_cycle_state RunLifeCycleState 実行ライフサイクルにおける実行の現在の位置の説明。 このフィールドは、常に応答で使用可能です。
result_state RunResultState 実行の結果の状態。 使用できない場合、このフィールドは応答に含められません。 result_state の使用可能性の詳細については、「RunResultState」を参照してください。
user_cancelled_or_timedout BOOLEAN 実行の取り消しがユーザーによって手動で行われたのか、それともタイムアウトになったためにスケジューラによって行われたのか。
state_message STRING 現在の状態の説明メッセージ。 このフィールドは構造化されておらず、その形式が変更される可能性があります。

SparkConfPair

Spark の構成キーと値のペア。

Type 説明
STRING 構成プロパティの名前。
STRING 構成プロパティの値。

SparkEnvPair

Spark の環境変数キーと値のペア。

重要

ジョブ クラスターで環境変数を指定する場合は、このデータ構造内のフィールドにはラテン文字 (ASCII 文字セット) のみが使用できます。 ASCII 以外の文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例として、中国語、日本語の漢字、絵文字があります。

Type 説明
STRING 環境変数の名前。
STRING 環境変数の値。

SparkJarTask

フィールド名 Type 説明
jar_uri STRING 2016 年 4 月以降非推奨となりました。 代わりに libraries フィールドを介して jar を指定してください。 例については、「Create」を参照してください。
main_class_name STRING 実行される main メソッドを含むクラスのフル ネーム。 このクラスは、ライブラリとして提供される JAR に含まれている必要があります。

コードでは SparkContext.getOrCreate を使用して Spark コンテキストを取得する必要があります。そうしない場合、ジョブの実行は失敗します。
parameters STRING の配列です。 main メソッドに渡されるパラメーター。

ジョブ実行に関するコンテキストをジョブ タスクに渡す」を使用して、ジョブ実行に関する情報を含むパラメーターを設定します。

SparkPythonTask

フィールド名 Type 説明
python_file STRING 実行される Python ファイルの URI。 DBFS パスがサポートされています。 これは必須フィールドです。
parameters STRING の配列です。 Python ファイルに渡されるコマンド ライン パラメーター。

ジョブ実行に関するコンテキストをジョブ タスクに渡す」を使用して、ジョブ実行に関する情報を含むパラメーターを設定します。

SparkSubmitTask

重要

  • Spark submit タスクは、新しいクラスターでのみ呼び出せます。
  • new_cluster 仕様では、librariesspark_conf はサポートされていません。 代わりに、--jars--py-files を使って Java と Python のライブラリを追加し、--conf を使って Spark 構成を設定します。
  • masterdeploy-mode、および executor-cores は Azure Databricks によって自動的に構成されます。パラメーターには指定 "できません"。
  • 既定で、Spark submit ジョブでは、(Azure Databricks 用の予約済みメモリを除く) 使用可能なすべてのメモリが使用されます。 --driver-memory--executor-memory を小さい値に設定して、オフヒープ使用のための余地を残すことができます。
  • --jars--py-files--files 引数では DBFS パスがサポートされます。

たとえば、JAR が DBFS にアップロードされると仮定した場合、次のパラメーターを設定して SparkPi を実行できます。

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}
フィールド名 Type 説明
parameters STRING の配列です。 spark submit に渡されるコマンド ライン パラメーター。

ジョブ実行に関するコンテキストをジョブ タスクに渡す」を使用して、ジョブ実行に関する情報を含むパラメーターを設定します。

TriggerType

これらは、実行を起動できるトリガーの種類です。

Type 説明
PERIODIC 定期的に実行をトリガーするスケジュール (cron スケジューラなど)。
ONE_TIME 1 回の実行を起動する 1 回限りのトリガー。 これは、UI または API を使用してオンデマンドで 1 回の実行をトリガーした場合に発生します。
RETRY 以前に失敗した実行の再試行としてトリガーされる実行を示します。 これは、エラーが発生した場合にジョブの再実行を要求したときに発生します。

ViewItem

エクスポートされたコンテンツは HTML 形式です。 たとえば、エクスポートするビューがダッシュボードの場合、各ダッシュボードに対して 1 つの HTML 文字列が返されます。

フィールド名 Type 説明
content STRING ビューのコンテンツ。
name STRING ビュー アイテムの名前。 コード ビューの場合は、ノートブックの名前。 ダッシュボード ビューの場合は、ダッシュボードの名前。
type ViewType ビュー アイテムの種類。

ViewType

Type 説明
NOTEBOOK ノートブック ビュー項目。
DASHBOARD ダッシュボード ビュー項目。

ViewsToExport

エクスポートするビュー: コード、すべてのダッシュボード、またはすべて。

Type 説明
CODE ノートブックのコード ビュー。
DASHBOARDS ノートブックのすべてのダッシュボード ビュー。
ALL ノートブックのすべてのビュー。

Webhook

フィールド名 Type 説明
id STRING システム通知の同期先を参照する識別子。 このフィールドは必須です。

WebhookNotifications

フィールド名 Type 説明
on_start Webhook の配列 実行が開始されたときに通知を受け取るシステム宛先のリスト (オプション)。 ジョブの作成、リセット、または更新時に指定されていない場合、一覧は空であり、通知は送信されません。 on_start プロパティには、最大 3 つの宛先を指定できます。
on_success Webhook の配列 実行が正常に完了したときに通知を受け取るシステム宛先のリスト (オプション)。 実行は、TERMINATEDlife_cycle_state および SUCCESSFULresult_state で終了している場合、正常に完了したと見なされます。 ジョブの作成、リセット、または更新時に指定されていない場合、一覧は空であり、通知は送信されません。 on_success プロパティには、最大 3 つの宛先を指定できます。
on_failure Webhook の配列 実行の正常に完了しなかった場合に通知を受け取るシステム宛先のリスト (オプション)。 実行は、次で終了している場合に、正常に完了しなかったと見なされます: INTERNAL_ERROR
life_cycle_state またはSKIPPEDFAILED、または TIMED_OUTresult_state。 これがジョブの作成、リセット、または更新時に指定されていない場合、一覧は空であり、通知は送信されません。 on_failure プロパティには、最大 3 つの宛先を指定できます。
on_duration_warning_threshold_exceeded Webhook の配列 実行の期間が health フィールドの RUN_DURATION_SECONDS メトリックに指定されたしきい値を超えた場合に通知を受け取るシステム宛先のリスト (オプション)。 on_duration_warning_threshold_exceeded プロパティには、最大 3 つの宛先を指定できます。

WorkspaceStorageInfo

ワークスペース ストレージ情報。

フィールド名 Type 説明
destination STRING ファイルの送信先。 例: /Users/someone@domain.com/init_script.sh