ジョブAPI 2.0

重要

この記事では、ジョブ API の 2.0 バージョンについて説明します。 ただし、Databricks では、新規および既存のクライアントとスクリプトに ジョブ API 2.1 を使用することをお勧めします。 バージョン 2.0 から 2.1 への変更点について詳しくは、 ジョブ API 2.0 から 2.1 への更新を参照してください。

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

Databricks ジョブを使用した複数のタスクのオーケストレーションをサポートするジョブ API の更新の詳細については、「 ジョブ API 2.0 から 2.1 への更新」を参照してください。

警告

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

ジョブ API 要求を行うときに 500 レベルのエラーが発生した場合、Databricks では、最大 10 分間 (再試行間隔は 30 秒以上) 要求を再試行することをお勧めします。

重要

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

創造する

エンドポイント

HTTP メソッド

2.0/jobs/create

POST

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

この例では、毎晩午後 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 の内容。

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

応答

{
  "job_id": 1
}

要求構造

重要

  • 新しいジョブ クラスターでジョブを実行すると、ジョブはジョブ コンピュート (自動) ワークロードとして扱われ、ジョブ コンピュートの価格が適用されます。

  • 既存の汎用クラスターでジョブを実行すると、汎用コンピュート (対話型) ワークロードとして扱われ、汎用コンピュートの価格が適用されます。

フィールド名

タイプ

説明

existing_cluster_id 又は new_cluster

STRING または 新規クラスター

existing_cluster_idの場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行するときに、クラスターが応答しなくなった場合は、クラスターを手動で再起動する必要がある場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。

new_clusterの場合は、実行ごとに作成されるクラスターの説明。

パイプライン タスクを指定する場合、このフィールドは空にすることができます。

notebook_task または spark_jar_taskspark_python_taskspark_submit_task 、または pipeline_task run_job_task

ノートブックタスク OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask

notebook_task の場合、このジョブでノートブックを実行する必要があることを示します。 このフィールドは、spark_jar_task と組み合わせて指定することはできません。

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

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

spark_submit_taskの場合、このジョブが spark 送信スクリプトによって起動される必要があることを示します。

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

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

name

STRING

ジョブのオプションの名前。 デフォルト値は Untitledです。

libraries

ライブラリの配列

ジョブを実行するクラスターにインストールするライブラリのオプションのリスト。 デフォルト値は空のリストです。

email_notifications

ジョブメール通知

このジョブの実行の開始時と完了時、およびこのジョブが削除されたときに通知される Eメール アドレスのオプションのセット。 デフォルトの動作では、Eメールは送信されません。

webhook_notifications

ウェブフック通知

このジョブの実行が開始、完了、または失敗したときに通知するシステム宛先のオプションのセット。

notification_settings

ジョブ通知設定

このジョブの各 email_notifications および webhook_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

クロンスケジュール

このジョブのオプションの定期的なスケジュール。 デフォルトの動作では、ジョブ UI で [ 今すぐ実行 ] をクリックするか、API 要求を runNowに送信することによってトリガーされたときにジョブが実行されます。

max_concurrent_runs

INT32

ジョブの並列実行の最大許容数(オプション)。

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

この設定は、新しい実行にのみ影響します。 たとえば、ジョブの同時実行数が 4 で、並列アクティブ実行が 4 つあるとします。 次に、同時実行を 3 に設定しても、アクティブな実行は強制終了されません。 ただし、それ以降は、アクティブな実行が 3 つ未満でない限り、新しい実行はスキップされます。

この値は 1000 を超えることはできません。 この値を 0 に設定すると、すべての新しい実行がスキップされます。 デフォルトの動作では、並列実行は 1 つだけ許可されます。

応答構造

フィールド名

タイプ

説明

job_id

INT64

新しく作成されたジョブの正規識別子。

リスト

エンドポイント

HTTP メソッド

2.0/jobs/list

GET

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

依頼

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

<databricks-instance> を Databricks ワークスペースのインスタンス名(dbc-a1b2345c-d6e7.cloud.databricks.comなど) に置き換えます。

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

応答

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

応答構造

フィールド名

タイプ

説明

jobs

ジョブの配列

ジョブのリスト。

削除

エンドポイント

HTTP メソッド

2.0/jobs/delete

POST

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

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

取り替える:

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

要求構造

フィールド名

タイプ

説明

job_id

INT64

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

取得

エンドポイント

HTTP メソッド

2.0/jobs/get

GET

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 .

取り替える:

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

応答

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

要求構造

フィールド名

タイプ

説明

job_id

INT64

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

応答構造

フィールド名

タイプ

説明

job_id

INT64

このジョブの正規識別子。

creator_user_name

STRING

作成者のユーザー名。 ユーザーが削除された場合、このフィールドは応答に含まれません。

settings

ジョブ設定

このジョブとそのすべての実行の設定。 これらの設定は、 エンドポイントのリセット または更新を使用して 更新 できます。

created_time

INT64

このジョブが作成された時刻 (エポック ミリ秒単位) (1970 年 1 月 1 日 UTC からのミリ秒単位)。

リセット

エンドポイント

HTTP メソッド

2.0/jobs/reset

POST

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

この要求例では、ジョブ 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 の内容。

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

要求構造

フィールド名

タイプ

説明

job_id

INT64

リセットするジョブの正規識別子。 このフィールドは必須です。

new_settings

ジョブ設定

ジョブの新しい設定。 これらの設定は、古い設定を完全に置き換えます。

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

更新

エンドポイント

HTTP メソッド

2.0/jobs/update

POST

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

この要求例では、ライブラリを削除し、 作成 例で定義されているジョブ 1 に Email 通知設定を追加します。

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 の内容。

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

要求構造

フィールド名

タイプ

説明

job_id

INT64

更新するジョブの正規識別子。 このフィールドは必須です。

new_settings

ジョブ設定

ジョブの新しい設定。

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

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

fields_to_remove

の配列 STRING

ジョブ設定の最上位フィールドを削除します。 ネストされたフィールドの削除は、 tasks 配列と job_clusters 配列のエントリを除き、サポートされていません。 たとえば、このフィールドの有効な引数は次のとおりです。 ["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]

このフィールドはオプションです。

今すぐ 実行

重要

  • ワークスペースは、並列タスクの実行回数が 1000 回に制限されています。 すぐに開始できない実行を要求すると、 429 Too Many Requests 応答が返されます。

  • ワークスペースが 1 時間に作成できるジョブの数は 10000 に制限されています ("実行の送信" を含む)。 この制限は、REST API およびノートブック ワークフローによって作成されたジョブにも影響します。

エンドポイント

HTTP メソッド

2.0/jobs/run-now

POST

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

ヒント

Create を [今すぐ実行] と共に呼び出す場合は、代わりに Runs 送信エンドポイントを使用して、ジョブを作成せずにワークロードを直接 送信 できます。

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 の内容。

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

要求構造

フィールド名

タイプ

説明

job_id

INT64

jar_params

の配列 STRING

JARタスクを持つジョブのパラメーターのリスト(例: "jar_params": ["john doe", "35"]。 パラメーターは、Spark JAR タスクで指定されたメイン クラスの main 関数を呼び出すために使用されます。 run-now時に指定しない場合、デフォルトでは空のリストになります。jar_params を ノートブックと組み合わせて指定することはできません。 このフィールドの JSON 表現 (つまり、 {"jar_params":["john doe","35"]}) は 10,000 バイトを超えることはできません。

notebook_params

パラムペアの地図

ノートブックタスクを含むジョブのキーから値へのマップ(例: "notebook_params": {"name": "john doe", "age":  "35"}。 マップはノートブックに渡され、 dbutils.widgets.get 関数を使用してアクセスできます。

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

jar_params と組み合わせて ノートブックを指定することはできません。

このフィールドの JSON 表現 (つまり、 {"notebook_params":{"name":"john doe","age":"35"}}) は 10,000 バイトを超えることはできません。

python_params

の配列 STRING

Python タスクを持つジョブのパラメーターのリスト。 "python_params": ["john doe", "35"]。 パラメーターは、コマンド ライン パラメーターとして Python ファイルに渡されます。 run-now時に指定すると、job設定で指定されたパラメーターが上書きされます。このフィールドの JSON 表現 (つまり、 {"python_params":["john doe","35"]}) は 10,000 バイトを超えることはできません。

spark_submit_params

の配列 STRING

スパーク送信タスクを持つジョブのパラメーターのリスト (例: "spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]。 パラメーターは、コマンド ライン パラメーターとして spark-submit スクリプトに渡されます。 run-now時に指定すると、job設定で指定されたパラメーターが上書きされます。このフィールドの JSON 表現は、10,000 バイトを超えることはできません。

idempotency_token

STRING

ジョブ実行要求のべき等性を保証するオプションのトークン。 指定されたトークンを使用した実行が既に存在する場合、要求は新しい実行を作成しませんが、代わりに既存の実行の ID を返します。 指定されたトークンを使用した実行が削除されると、エラーが返されます。

べき等トークンを指定すると、失敗したときに要求が成功するまで再試行できます。 Databricks は、そのべき等トークンを使用して 1 回の実行が正確に起動されることを保証します。

このトークンは最大 64 文字である必要があります。

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

応答構造

フィールド名

タイプ

説明

run_id

INT64

新しくトリガーされた実行のグローバル一意 ID。

number_in_job

INT64

ジョブのすべての実行におけるこの実行のシーケンス番号。

実行の送信

重要

  • ワークスペースは、並列タスクの実行回数が 1000 回に制限されています。 すぐに開始できない実行を要求すると、 429 Too Many Requests 応答が返されます。

  • ワークスペースが 1 時間に作成できるジョブの数は 10000 に制限されています ("実行の送信" を含む)。 この制限は、REST API およびノートブック ワークフローによって作成されたジョブにも影響します。

エンドポイント

HTTP メソッド

2.0/jobs/runs/submit

POST

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 の内容。

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

応答

{
  "run_id": 123
}

要求構造

重要

  • 新しいジョブ クラスターでジョブを実行すると、ジョブはジョブ コンピュート (自動) ワークロードとして扱われ、ジョブ コンピュートの価格が適用されます。

  • 既存の汎用クラスターでジョブを実行すると、汎用コンピュート (対話型) ワークロードとして扱われ、汎用コンピュートの価格が適用されます。

フィールド名

タイプ

説明

existing_cluster_id 又は new_cluster

STRING または 新規クラスター

existing_cluster_idの場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行するときに、クラスターが応答しなくなった場合は、クラスターを手動で再起動する必要がある場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。

new_clusterの場合は、実行ごとに作成されるクラスターの説明。

パイプライン タスクを指定する場合、このフィールドは空にすることができます。

notebook_task または spark_jar_taskspark_python_taskspark_submit_task 、または pipeline_task run_job_task

ノートブックタスク OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask

notebook_task の場合、このジョブでノートブックを実行する必要があることを示します。 このフィールドは、spark_jar_task と組み合わせて指定することはできません。

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

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

spark_submit_taskの場合、このジョブが spark 送信スクリプトによって起動される必要があることを示します。

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

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

run_name

STRING

実行のオプションの名前。 デフォルト値は Untitledです。

webhook_notifications

ウェブフック通知

このジョブの実行が開始、完了、または失敗したときに通知するシステム宛先のオプションのセット。

notification_settings

ジョブ通知設定

この実行の各 webhook_notifications に通知を送信するときに使用されるオプションの通知設定。

libraries

ライブラリの配列

ジョブを実行するクラスターにインストールするライブラリのオプションのリスト。 デフォルト値は空のリストです。

timeout_seconds

INT32

このジョブの各実行に適用されるオプションのタイムアウト。 デフォルトの動作では、タイムアウトはありません。

idempotency_token

STRING

ジョブ実行要求のべき等性を保証するオプションのトークン。 指定されたトークンを使用した実行が既に存在する場合、要求は新しい実行を作成しませんが、代わりに既存の実行の ID を返します。 指定されたトークンを使用した実行が削除されると、エラーが返されます。

べき等トークンを指定すると、失敗したときに要求が成功するまで再試行できます。 Databricks は、そのべき等トークンを使用して 1 回の実行が正確に起動されることを保証します。

このトークンは最大 64 文字である必要があります。

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

応答構造

フィールド名

タイプ

説明

run_id

INT64

新しく送信された実行の正規識別子。

実行リスト

エンドポイント

HTTP メソッド

2.0/jobs/runs/list

GET

リストは、開始時刻の降順で実行されます。

実行は 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 値に置き換えます。

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

応答

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

BOOL 又は BOOL

active_only が trueの場合、アクティブな実行のみが結果に含まれます。それ以外の場合は、アクティブな実行と完了した実行の両方を一覧表示します。 アクティブな実行とは、 PENDINGRUNNING、または RunLifecycleState TERMINATING で実行されることです。このフィールドは、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

返す実行の種類。 実行の種類の説明については、「 実行」を参照してください。

応答構造

フィールド名

タイプ

説明

runs

実行の配列

最近開始されたものから最も少ないものまでの実行のリスト。

has_more

BOOL

true の場合、指定されたフィルターに一致する追加の実行を一覧表示できます。

実行取得

エンドポイント

HTTP メソッド

2.0/jobs/runs/get

GET

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

実行は 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 .

取り替える:

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

応答

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

要求構造

フィールド名

タイプ

説明

run_id

INT64

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

応答構造

フィールド名

タイプ

説明

job_id

INT64

この実行を含むジョブの正規識別子。

run_id

INT64

実行の正規識別子。 この ID は、すべてのジョブのすべての実行で一意です。

number_in_job

INT64

ジョブのすべての実行におけるこの実行のシーケンス番号。 この値は 1 から始まります。

original_attempt_run_id

INT64

この実行が以前の実行試行の再試行である場合、このフィールドには元の試行のrun_idが含まれます。それ以外はrun_idと同じです。

state

実行状態

実行の結果とライフサイクルの状態。

schedule

クロンスケジュール

定期的なスケジューラによってトリガーされた場合に、この実行をトリガーした cron スケジュール。

task

ジョブタスク

実行によって実行されるタスク (存在する場合)。

cluster_spec

クラスタスペック

この実行が作成されたときのジョブのクラスター仕様のスナップショット。

cluster_instance

クラスターインスタンス

この実行に使用されるクラスター。 新しいクラスターを使用するように実行が指定されている場合、このフィールドは、ジョブ サービスが実行のクラスターを要求したときに設定されます。

overriding_parameters

実行パラメーター

この実行に使用されるパラメーター。

start_time

INT64

この実行が開始された時刻 (エポック ミリ秒単位) (1970 年 1 月 1 日 UTC からのミリ秒数)。 これは、ジョブタスクの実行が開始される時刻ではない場合があります (たとえば、ジョブが新しいクラスターで実行するようにスケジュールされている場合)、これはクラスター作成呼び出しが発行された時刻です。

end_time

INT64

この実行が終了した時刻 (エポック ミリ秒) (1970 年 1 月 1 日 UTC からのミリ秒)。 ジョブがまだ実行中の場合、このフィールドは 0 に設定されます。

setup_duration

INT64

クラスターのセットアップにかかった時間 (ミリ秒単位)。 新しいクラスターで実行される実行の場合、これはクラスターの作成時間であり、既存のクラスターで実行される実行の場合、この時間は非常に短くする必要があります。 実行の合計時間は、 setup_durationexecution_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

トリガータイプ

この実行を開始したトリガーの種類。

creator_user_name

STRING

作成者のユーザー名。 ユーザーが削除された場合、このフィールドは応答に含まれません

run_page_url

STRING

実行の詳細ページへの URL。

エクスポート の実行

エンドポイント

HTTP メソッド

2.0/jobs/runs/export

GET

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

ノートブックの実行のみを 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 .

取り替える:

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

応答

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

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

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

要求構造

フィールド名

タイプ

説明

run_id

INT64

実行の正規識別子。 このフィールドは必須です。

views_to_export

ビューからエクスポートへ

エクスポートするビュー (コード、ダッシュボード、またはすべて)。 デフォルトは CODE です。

応答構造

フィールド名

タイプ

説明

views

ビューアイテムの配列

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 を使用します。 ファイル。

要求構造

フィールド名

タイプ

説明

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 を使用します。 ファイル。

要求構造

フィールド名

タイプ

説明

job_id

INT64

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

実行は出力 を取得します

エンドポイント

HTTP メソッド

2.0/jobs/runs/get-output

GET

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

このエンドポイントは、 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 .

取り替える:

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

応答

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

要求構造

フィールド名

タイプ

説明

run_id

INT64

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

応答構造

フィールド名

タイプ

説明

notebook_output 又は error

ノートブック出力 又は 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 を使用します。 ファイル。

要求構造

フィールド名

タイプ

説明

run_id

INT64

メタデータを取得する実行の正規識別子。

データ構造

オートスケール

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

フィールド名

タイプ

説明

min_workers

INT32

使用率が低い場合にクラスターをスケールダウンできるワーカーの最小数。 また、作成後にクラスターが持つワーカーの初期数でもあります。

max_workers

INT32

過負荷時にクラスターがスケールアップできるワーカーの最大数。 max_workers厳密にmin_workersより大きい必要があります。

AwsAttributes

アマゾン ウェブ サービスに関連するクラスターの作成時に設定された属性。

フィールド名

タイプ

説明

first_on_demand

INT32

クラスターの最初のfirst_on_demandノードは、オンデマンドインスタンスに配置されます。 この値が 0 より大きい場合、クラスタードライバーノードはオンデマンドインスタンスに配置されます。 この値が現在のクラスター サイズ以上の場合、すべてのノードがオンデマンド インスタンスに配置されます。 この値が現在のクラスターサイズより小さい場合、first_on_demandノードはオンデマンドインスタンスに配置され、残りは availability インスタンスに配置されます。 この値はクラスターのサイズには影響せず、クラスターの有効期間中に変更することはできません。

availability

AWS可用性

first_on_demandノード以降のすべての後続のノードに使用される可用性の種類。 手記: first_on_demand が 0 の場合、この可用性の種類がクラスター全体に使用されます。

zone_id

STRING

クラスターが存在するアベイラビリティーゾーン (AZ) の識別子。 デフォルトでは、設定の値は auto(自動 AZ とも呼ばれます) です。 Auto-AZ では、Databricks はワークスペースサブネットで使用可能な IP に基づいて AZ を選択し、AWS が容量不足エラーを返した場合は他のアベイラビリティーゾーンで再試行します。

必要に応じて、使用する可用性ゾーンを指定することもできます。 これは、特定の AZ にリザーブドインスタンスを持つアカウントにメリットがあります。 AZ を文字列として指定します ( "us-west-2a"など)。 指定された可用性ゾーンは、Databricks デプロイと同じリージョンに存在する必要があります。 たとえば、Databricks デプロイが "us-east-1" リージョンに存在する場合、"us-west-2a" は有効なゾーン ID ではありません。

使用可能なゾーンのリストとデフォルト値は、GET /api/2.0/クラスター/list-zones を使用して見つけることができます 呼び出し。

instance_profile_arn

STRING

このクラスターのノードは、このインスタンスプロファイルを持つ AWS インスタンスにのみ配置されます。 省略すると、ノードはインスタンスプロファイルのないインスタンスに配置されます。 インスタンス プロファイルは、アカウント管理者によって事前に Databricks 環境に追加されている必要があります。

この機能は、特定の顧客プランでのみ使用できる場合があります。

spot_bid_price_percent

INT32

AWS スポットインスタンスの最大料金 (対応するインスタンスタイプのオンデマンド料金に対する割合)。 たとえば、このフィールドが 50 に設定されていて、クラスターに新しい i3.xlarge スポットインスタンスが必要な場合、上限価格はオンデマンド i3.xlarge インスタンスの価格の半分になります。 同様に、このフィールドが 200 に設定されている場合、上限価格はオンデマンド i3.xlarge インスタンスの価格の 2 倍になります。 指定しない場合、既定値は 100 です。 このクラスターのスポットインスタンスがリクエストされると、最大価格パーセンテージがこのフィールドに一致するスポットインスタンスのみが考慮されます。 安全のため、このフィールドは 10000 以下にします。

ebs_volume_type

EbsVolumeType

このクラスターで起動される EBS ボリュームのタイプ。

ebs_volume_count

INT32

各インスタンスで起動されたボリュームの数。 最大10巻まで選択できます。 この機能は、サポートされているノードタイプに対してのみ有効です。 レガシーノードタイプでは、カスタム EBS ボリュームを指定できません。 インスタンスストアのないノードタイプの場合、少なくとも 1 つの EBS ボリュームを指定する必要があります。そうしないと、クラスターの作成が失敗します。

これらの EBS ボリュームは、 /ebs0/ebs1などにマウントされます。インスタンスストアボリュームは、 /local_disk0/local_disk1などにマウントされます。

EBS ボリュームがアタッチされている場合、異種サイズのスクラッチ デバイスは非効率的なディスク使用につながる可能性があるため、Databricks はスクラッチ ストレージに EBS ボリュームのみを使用するように Spark を構成します。 EBS ボリュームがアタッチされていない場合、Databricks はインスタンス ストア ボリュームを使用するように Spark を構成します。

EBS ボリュームが指定されている場合、Spark 構成 spark.local.dir 上書きされます。

ebs_volume_size

INT32

インスタンスごとに起動される各 EBS ボリュームのサイズ (GiB 単位)。 汎用SSDボリュームの場合、この値は 100 から 4096 の範囲でなければなりません。 スループット最適化 HDD の場合、この値は 500 から 4096 の範囲内にある必要があります。 カスタム EBS ボリュームは、レガシーノードタイプ (メモリ 最適化および コンピュート最適化) には指定できません。

ebs_volume_iops

INT32

EBS gp3 ボリュームあたりの IOPS の数。

この値は 3000 から 16000 の間でなければなりません。

IOPS とスループットの値は、同じボリュームサイズの gp2 ボリュームの最大パフォーマンスと一致するように、AWS のドキュメントに基づいて計算されます。

詳細については、「 EBS ボリューム制限計算ツール」を参照してください。

ebs_volume_throughput

INT32

EBS gp3 ボリュームあたりのスループット (MiB/秒)。

この値は 125 から 1000 の間でなければなりません。

ebs_volume_iopsebs_volume_throughput も指定されていない場合、値はディスク サイズから推論されます。

ディスク サイズ

IOPS

スループット

1000 より大きい

ディスク サイズの 3 倍、最大 16000

250

170から1000の間

3000

250

170未満

3000

125

AWS可用性

クラスターのノードを設定するときにサポートされる AWS 可用性タイプのセット。

タイプ

説明

SPOT

スポットインスタンスを使用します。

ON_DEMAND

オンデマンドインスタンスを使用します。

SPOT_WITH_FALLBACK

できればスポットインスタンスを使用しますが、スポットインスタンスを取得できない場合 (AWS スポット料金が高すぎる場合など) はオンデマンドインスタンスにフォールバックします。

クラスターインスタンス

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

フィールド名

タイプ

説明

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

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

フィールド名

タイプ

説明

dbfs 又は s3

DbfsStorageInfo

S3ストレージ情報

クラスター ログの DBFS の場所。 目的地を指定する必要があります。 例えば { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

クラスターログの S3 の場所。 destinationregion または warehouse のいずれかを提供する必要があります。 例えば { "s3": { "destination" : "s3://cluster_log_bucket/prefix", "region" : "us-west-2" } }

クラスタスペック

重要

  • 新しいジョブ クラスターでジョブを実行すると、ジョブはジョブ コンピュート (自動) ワークロードとして扱われ、ジョブ コンピュートの価格が適用されます。

  • 既存の汎用クラスターでジョブを実行すると、汎用コンピュート (対話型) ワークロードとして扱われ、汎用コンピュートの価格が適用されます。

フィールド名

タイプ

説明

existing_cluster_id 又は new_cluster

STRING または 新規クラスター

existing_cluster_idの場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行するときに、クラスターが応答しなくなった場合は、クラスターを手動で再起動する必要がある場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。

new_clusterの場合は、実行ごとに作成されるクラスターの説明。

パイプライン タスクを指定する場合、このフィールドは空にすることができます。

libraries

ライブラリの配列

ジョブを実行するクラスターにインストールするライブラリのオプションのリスト。 デフォルト値は空のリストです。

クラスタータグ

クラスタータグの定義。

タイプ

説明

STRING

タグのキー。 キーの長さは、UTF-8 文字以上 127 文字以下でなければなりません。 すべての制限のリストについては、「AWS タグの制限: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions

STRING

タグの値。 値の長さは UTF-8 文字 255 文字以下である必要があります。 すべての制限のリストについては、「AWS タグの制限: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions

クロンスケジュール

フィールド名

タイプ

説明

quartz_cron_expression

STRING

ジョブのスケジュールを記述する Quartz 構文を使用した Cron 式。 詳細については、 cron トリガー を参照してください。 このフィールドは必須です。

timezone_id

STRING

Java タイムゾーン ID。 ジョブのスケジュールは、このタイムゾーンに関して解決されます。 詳細については、 Java タイムゾーン を参照してください。 このフィールドは必須です。

pause_status

STRING

このスケジュールが停止するかどうかを示します。 "停止する" または "UN停止する" のいずれかです。

DbfsStorageInfo

DBFS ストレージ情報。

フィールド名

タイプ

説明

destination

STRING

DBFS の宛先。 例: dbfs:/my/path

EbsVolumeType

Databricks では、gp2 および gp3 EBS ボリュームの種類がサポートされています。 「 SSD ストレージの管理 」の手順に従って、ワークスペースに gp2 または gp3 を選択します。

タイプ

説明

GENERAL_PURPOSE_SSD

AWS EBS ボリュームを使用して追加のストレージをプロビジョニングします。

THROUGHPUT_OPTIMIZED_HDD

AWS st1 ボリュームを使用して追加のストレージをプロビジョニングします。

ファイルストレージ情報

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

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

フィールド名

タイプ

説明

destination

STRING

ファイルの宛先。 例: file:/my/file.sh

InitScriptInfo

initスクリプトへのパス。

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

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

フィールド名

タイプ

説明

workspace OR dbfs (非推奨)

又は S3

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

DbfsStorageInfo (非推奨)

S3ストレージ情報

initスクリプトのワークスペースの場所。 目的地を指定する必要があります。 例えば { "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(非推奨)initスクリプトの DBFS の場所。 目的地を指定する必要があります。 例えば { "dbfs" : { "destination" : "dbfs:/home/init_script" } }

initスクリプトの S3 の場所。 配送先と、地域またはウェアハウスを指定する必要があります。 例えば { "s3": { "destination" : "s3://init_script_bucket/prefix", "region" : "us-west-2" } }

ジョブ

フィールド名

タイプ

説明

job_id

INT64

このジョブの正規識別子。

creator_user_name

STRING

作成者のユーザー名。 ユーザーが既に削除されている場合、このフィールドは応答に含まれません。

run_as

STRING

ジョブの実行に使用するユーザー名。 run_as は現在のジョブ設定に基づいており、ジョブ・アクセス制御が無効になっている場合はジョブの作成者に設定され、ジョブ・アクセス制御が有効な場合は is_owner 権限に設定されます。

settings

ジョブ設定

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

created_time

INT64

このジョブが作成された時刻 (エポック ミリ秒単位) (1970 年 1 月 1 日 UTC からのミリ秒単位)。

ジョブメール通知

重要

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

フィールド名

タイプ

説明

on_start

の配列 STRING

実行の開始時に通知される Eメール アドレスのリスト。 ジョブの作成、リセット、または更新時に指定しない場合、リストは空になり、通知は送信されません。

on_success

の配列 STRING

実行が正常に完了したときに通知される Eメール アドレスのリスト。 実行が TERMINATED life_cycle_stateSUCCESSFUL result_stateで終了した場合、実行は正常に完了したと見なされます。 ジョブの作成、リセット、または更新時に指定しない場合、リストは空になり、通知は送信されません。

on_failure

の配列 STRING

実行が失敗したときに通知される Eメール アドレスのリスト。 実行が INTERNAL_ERROR life_cycle_state または SKIPPEDFAILED、または TIMED_OUT result_stateで終了した場合、実行は失敗したと見なされます。 ジョブの作成、リセット、または更新時にこれが指定されていない場合、リストは空になり、通知は送信されません。

on_duration_warning_threshold_exceeded

の配列 STRING

実行時間が [health] フィールドの RUN_DURATION_SECONDS メトリクスに指定されたしきい値を超えたときに通知される Eメール アドレスのリスト。RUN_DURATION_SECONDS メトリクスのルールがジョブの [health] フィールドで指定されていない場合、通知は送信されません。

no_alert_for_skipped_runs

BOOL

true の場合、実行がスキップされた場合、 on_failure で指定された受信者に Email を送信しません。

フィールド名

タイプ

説明

on_start

ウェブフックの配列

実行の開始時に通知されるシステム宛先のオプションのリスト。 ジョブの作成、リセット、または更新時に指定しない場合、リストは空になり、通知は送信されません。 on_start プロパティには、最大 3 つの宛先を指定できます。

on_success

ウェブフックの配列

実行が正常に完了したときに通知されるシステム宛先のオプションのリスト。 実行が TERMINATED life_cycle_stateSUCCESSFUL result_stateで終了した場合、実行は正常に完了したと見なされます。 ジョブの作成、リセット、または更新時に指定しない場合、リストは空になり、通知は送信されません。 on_success プロパティには、最大 3 つの宛先を指定できます。

on_failure

ウェブフックの配列

実行が失敗したときに通知されるシステム宛先のオプションのリスト。 実行が INTERNAL_ERROR life_cycle_state または SKIPPEDFAILED、または TIMED_OUT result_stateで終了した場合、実行は失敗したと見なされます。 ジョブの作成、リセット、または更新時にこれが指定されていない場合、リストは空になり、通知は送信されません。 on_failure プロパティには、最大 3 つの宛先を指定できます。

on_duration_warning_threshold_exceeded

ウェブフックの配列

実行時間が [health] フィールドの RUN_DURATION_SECONDS メトリクスに指定されたしきい値を超えたときに通知されるシステム宛先のオプションのリスト。on_duration_warning_threshold_exceeded プロパティには、最大 3 つの宛先を指定できます。

ジョブ通知設定

フィールド名

タイプ

説明

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 で指定された受信者に通知を送信しません。

ジョブ設定

重要

  • 新しいジョブ クラスターでジョブを実行すると、ジョブはジョブ コンピュート (自動) ワークロードとして扱われ、ジョブ コンピュートの価格が適用されます。

  • 既存の汎用クラスターでジョブを実行すると、汎用コンピュート (対話型) ワークロードとして扱われ、汎用コンピュートの価格が適用されます。

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

フィールド名

タイプ

説明

existing_cluster_id 又は new_cluster

STRING または 新規クラスター

existing_cluster_idの場合、このジョブのすべての実行に使用される既存のクラスターの ID。 既存のクラスターでジョブを実行するときに、クラスターが応答しなくなった場合は、クラスターを手動で再起動する必要がある場合があります。 信頼性を高めるために、新しいクラスターでジョブを実行することをお勧めします。

new_clusterの場合は、実行ごとに作成されるクラスターの説明。

パイプライン タスクを指定する場合、このフィールドは空にすることができます。

notebook_task または spark_jar_taskspark_python_taskspark_submit_task 、または pipeline_task run_job_task

ノートブックタスク OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask

notebook_task の場合、このジョブでノートブックを実行する必要があることを示します。 このフィールドは、spark_jar_task と組み合わせて指定することはできません。

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

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

spark_submit_taskの場合、このジョブが spark 送信スクリプトによって起動される必要があることを示します。

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

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

name

STRING

ジョブのオプションの名前。 デフォルト値は Untitledです。

libraries

ライブラリの配列

ジョブを実行するクラスターにインストールするライブラリのオプションのリスト。 デフォルト値は空のリストです。

email_notifications

ジョブメール通知

このジョブの実行が開始または完了したとき、およびこのジョブが削除されたときに通知されるオプションの Eメール アドレスのセット。 デフォルトの動作では、Eメールは送信されません。

webhook_notifications

ウェブフック通知

このジョブの実行が開始、完了、または失敗したときに通知するシステム宛先のオプションのセット。

notification_settings

ジョブ通知設定

このジョブの各 email_notifications および webhook_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

クロンスケジュール

このジョブのオプションの定期的なスケジュール。 デフォルトの動作では、ジョブUIで[今すぐ実行]をクリックするか、APIリクエストを runNowに送信することによってトリガーされた場合にのみジョブが実行されます。

max_concurrent_runs

INT32

ジョブの並列実行の最大許容数(オプション)。

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

この設定は、新しい実行にのみ影響します。 たとえば、ジョブの同時実行数が 4 で、並列アクティブ実行が 4 つあるとします。 次に、同時実行を 3 に設定しても、アクティブな実行は強制終了されません。 ただし、それ以降は、アクティブな実行が 3 つ未満でない限り、新しい実行はスキップされます。

この値は 1000 を超えることはできません。 この値を 0 に設定すると、すべての新しい実行がスキップされます。 デフォルトの動作では、並列実行は 1 つだけ許可されます。

health

ジョブヘルスルール

ジョブに対して定義されたオプションの正常性ルールのセット。

ジョブタスク

フィールド名

タイプ

説明

notebook_task または spark_jar_taskspark_python_taskspark_submit_task 、または pipeline_task run_job_task

ノートブックタスク OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask

notebook_task の場合、このジョブでノートブックを実行する必要があることを示します。 このフィールドは、spark_jar_task と組み合わせて指定することはできません。

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

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

spark_submit_taskの場合、このジョブが spark 送信スクリプトによって起動される必要があることを示します。

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

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

ジョブヘルスルール

フィールド名

タイプ

説明

metric

STRING

特定の正常性ルールに対して評価される正常性メトリクスを指定します。 有効な値は RUN_DURATION_SECONDSです。

operator

STRING

ヘルスメトリクス値を指定したしきい値と比較するために使用する演算子を指定します。 有効な値は GREATER_THANです。

value

INT32

正常性ルールに準拠するために正常性メトリクスが満たす必要があるしきい値を指定します。

ジョブヘルスルール

フィールド名

タイプ

説明

rules

ジョブ ヘルスルールの配列

ジョブに対して定義できる正常性ルールのオプションのセット。

ライブラリ

フィールド名

タイプ

説明

jar または eggwhlpypi 、または maven cran

STRING OR STRING OR STRING OR PythonPyPiLibrary OR MavenLibrary OR RCranLibrary

jar の場合は、インストールする JAR の URI。 DBFS および S3 URI がサポートされています。 たとえば、 { "jar": "dbfs:/mnt/databricks/library.jar" }{ "jar": "s3://my-bucket/library.jar" }などです。 S3 を使用する場合は、クラスターにライブラリに対する読み取りアクセス権があることを確認します。 S3 URI にアクセスするには、インスタンスプロファイルを使用してクラスターを起動する必要がある場合があります。

卵の場合は、インストールする卵のURI。 DBFS および S3 URI がサポートされています。 たとえば、 { "egg": "dbfs:/my/egg" }{ "egg": "s3://my-bucket/egg" }などです。 S3 を使用する場合は、クラスターにライブラリに対する読み取りアクセス権があることを確認します。 S3 URI にアクセスするには、インスタンスプロファイルを使用してクラスターを起動する必要がある場合があります。

whl の場合、インストールする wheel または圧縮された wheels の URI です。 DBFS および S3 URI がサポートされています。 例: { "whl": "dbfs:/my/whl" } または { "whl": "s3://my-bucket/whl" }. S3 を使用する場合は、クラスターにライブラリに対する読み取りアクセス権があることを確認します。 S3 URI にアクセスするには、インスタンスプロファイルを使用してクラスターを起動する必要がある場合があります。 また、 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ライブラリの指定。

Maven Library

フィールド名

タイプ

説明

coordinates

STRING

グラドルスタイルの Maven 座標。 たとえば、 org.jsoup:jsoup:1.7.2です。 このフィールドは必須です。

repo

STRING

MavenパッケージをインストールするためのMaven リポジトリ。 省略すると、Maven 中央リポジトリと Spark パッケージの両方が検索されます。

exclusions

の配列 STRING

除外する依存関係のリスト。 たとえば、 ["slf4j:slf4j", "*:hadoop-client"]です。

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

新しいクラスター

フィールド名

タイプ

説明

num_workers 又は autoscale

INT32 OR オートスケール

num_workersの場合、このクラスターに必要なワーカー ノードの数。 クラスターには、1 つの Spark ドライバーとワーカー エグゼキューターがあり、合計でワーカー + 1 つの Spark ノードがあります。

クラスターのプロパティを読み取る場合、このフィールドには、実際の現在のワーカー数ではなく、必要なワーカー数が反映されます。 たとえば、クラスターのサイズが 5 人から 10 人のワーカーに変更された場合、このフィールドは 10 人のワーカーのターゲット サイズを反映するようにすぐに更新されますが、 spark_info にリストされているワーカーは、新しいノードがプロビジョニングされるにつれて 5 から 10 に徐々に増加します。

オートスケールの場合、負荷に基づいてクラスターを自動的にスケールアップおよびスケールダウンするために必要なパラメーター。

spark_version

STRING

クラスターの Spark バージョン。 使用可能な Spark バージョンの一覧は、 GET 2.0/クラスター/spark-versions 呼び出しを使用して取得できます。 このフィールドは必須です。

spark_conf

スパークコンファレンスペア

オプションのユーザー指定の Spark 構成キーと値のペアのセットを含むオブジェクト。 また、追加のJVMオプションの文字列を、それぞれ spark.driver.extraJavaOptionsspark.executor.extraJavaOptions を介してドライバーとエグゼキューターに渡すこともできます。

例 Spark confs: {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} または {"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}

aws_attributes

AwsAttributes

アマゾン ウェブ サービスで実行されているクラスターに関連する属性。 クラスターの作成時に指定しない場合は、一連の既定値が使用されます。

node_type_id

STRING

このフィールドは、このクラスター内の各 Spark ノードで使用できるリソースを 1 つの値でエンコードします。 たとえば、Spark ノードは、メモリまたはコンピュート集中型のワークロード用にプロビジョニングおよび最適化できます。 使用可能なノードの種類の一覧は、 GET 2.0/クラスター/list-node-types 呼び出しを使用して取得できます。 このフィールド、 instance_pool_id フィールド、またはノードタイプ ID またはインスタンスプール ID を指定するクラスターポリシーは必須です。

driver_node_type_id

STRING

Spark ドライバーのノードの種類。 このフィールドはオプションです。設定されていない場合、ドライバー ノードの種類は、上記で定義した node_type_id と同じ値として設定されます。

ssh_public_keys

の配列 STRING

このクラスター内の各 Spark ノードに追加される SSH 公開キーの内容。 対応する秘密キーを使用して、ポート 2200でユーザー名 ubuntu でログインできます。最大10個のキーを指定できます。

custom_tags

クラスタータグ

クラスターリソースのタグのセットを含むオブジェクト。 Databricks は、デフォルトに加えて、すべてのクラスターリソース (AWS インスタンスや EBS ボリュームなど) にこれらのタグをタグ付けします。

メモ:

  • タグは、コンピュート最適化やメモリ最適化などのレガシーノードタイプではサポートされていません

  • Databricks では最大 45 個のカスタム タグを使用できます

cluster_log_conf

ClusterLogConf

Spark ログを長期保存先に配信するための構成。 1 つのクラスターに指定できる宛先は 1 つだけです。 confが指定されている場合、ログは 5 minsごとに宛先に配信されます。 ドライバー ログの保存先は <destination>/<cluster-id>/driverですが、エグゼキューター ログの保存先は <destination>/<cluster-id>/executorです。

init_scripts

InitScriptInfoの配列

initスクリプトを格納するための構成。 スクリプトはいくつでも指定できます。 スクリプトは、指定された順序で順番に実行されます。 cluster_log_conf を指定すると、initスクリプト ログが <destination>/<cluster-id>/init_scriptsに送信されます。

spark_env_vars

スパークエンビペア

オプションのユーザー指定の環境変数のキーと値のペアのセットを含むオブジェクト。 形式 (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

オートスケール Local Storage: 有効にすると、Spark ワーカーのディスク容量が不足しているときに、このクラスターは追加のディスク容量を動的に取得します。 この機能が正しく機能するには、特定の AWS 権限が必要です。詳細については、「オートスケール ローカル ストレージを有効にする」を参照してください。

driver_instance_pool_id

STRING

ドライバー・ノードに使用するインスタンス・プールのオプションID。 instance_pool_idも指定する必要があります。詳細については、 インスタンス プール API を参照してください。

instance_pool_id

STRING

クラスター・ノードに使用するインスタンス・プールのオプションID。 driver_instance_pool_idが存在する場合、instance_pool_idはワーカー ノードにのみ使用されます。それ以外の場合は、ドライバー ノードとワーカー ノードの両方に使用されます。 詳細については、 インスタンス プール API を参照してください。

ノートブック出力

フィールド名

タイプ

説明

result

STRING

dbutils.ノートブック.exit() に渡される値。Databricks は、値の最初の 1 MB を返すようにこの API を制限します。 より大きな結果を得るには、ジョブで結果をクラウド ストレージ サービスに保存できます。 このフィールドは、 dbutils.notebook.exit() が呼び出されなかった場合は存在しません。

truncated

BOOLEAN

結果が切り捨てられたかどうか。

ノートブックタスク

すべての出力セルは8MBのサイズの影響を受けます。 セルの出力のサイズが大きい場合、残りの実行はキャンセルされ、実行は失敗としてマークされます。 その場合、他のセルからのコンテンツ出力の一部も欠落している可能性があります。

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

フィールド名

タイプ

説明

notebook_path

STRING

Databricks ワークスペースで実行するノートブックの絶対パス。 このパスはスラッシュで始まる必要があります。 このフィールドは必須です。

revision_timestamp

LONG

ノートブックのリビジョンのタイムスタンプ。

base_parameters

パラムペアの地図

このジョブの各実行に使用される基本パラメーター。 パラメーターを指定して run-now 呼び出しによって実行が開始された場合、2 つのパラメーター マップがマージされます。 base_parametersrun-nowに同じキーを指定すると、 run-now の値が使用されます。

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

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

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

パラムペア

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

重要

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

タイプ

説明

STRING

パラメーター名。 値を取得するには、 dbutils.widgets.get に渡します。

STRING

パラメーター値。

パイプラインタスク

フィールド名

タイプ

説明

pipeline_id

STRING

実行する Delta Live Tables パイプラインタスクの完全な名前。

PythonPyPiLibrary

フィールド名

タイプ

説明

package

STRING

インストールする PyPI パッケージの名前。 オプションの正確なバージョン指定もサポートされています。 例: simplejsonsimplejson==3.8.0. このフィールドは必須です。

repo

STRING

パッケージが見つかるリポジトリ。 指定しない場合は、既定の pip インデックスが使用されます。

RCranライブラリ

フィールド名

タイプ

説明

package

STRING

インストールする CRAN パッケージの名前。 このフィールドは必須です。

repo

STRING

パッケージが見つかる リポジトリ。 指定しない場合は、既定の CRAN リポジトリが使用されます。

実行

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

フィールド名

タイプ

説明

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

実行状態

実行の結果とライフサイクルの状態。

schedule

クロンスケジュール

定期的なスケジューラによってトリガーされた場合に、この実行をトリガーした cron スケジュール。

task

ジョブタスク

実行によって実行されるタスク (存在する場合)。

cluster_spec

クラスタスペック

この実行が作成されたときのジョブのクラスター仕様のスナップショット。

cluster_instance

クラスターインスタンス

この実行に使用されるクラスター。 新しいクラスターを使用するように実行が指定されている場合、このフィールドは、ジョブ サービスが実行のクラスターを要求したときに設定されます。

overriding_parameters

実行パラメーター

この実行に使用されるパラメーター。

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

トリガータイプ

この実行を開始したトリガーの種類。

run_name

STRING

実行のオプションの名前。 デフォルト値は Untitledです。 最大許容長は、UTF-8 エンコードで 4096 バイトです。

run_page_url

STRING

実行の詳細ページへの URL。

run_type

STRING

実行の種類。

attempt_number

INT32

トリガーされたジョブ実行に対するこの実行試行のシーケンス番号。 実行の最初の試行のattempt_numberは 0 です。最初の実行試行が失敗し、ジョブに再試行ポリシー (max_retries > 0) がある場合、後続の実行は、元の試行の ID の original_attempt_run_id と増分 attempt_numberを使用して作成されます。 実行は成功するまで再試行され、最大 attempt_number はジョブの max_retries 値と同じです。

ジョブタスクの実行

フィールド名

タイプ

説明

job_id

INT32

実行するジョブの一意の識別子。 このフィールドは必須です。

実行ライフサイクル状態

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

  • 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 状態で終了した場合、ジョブ サービスはできるだけ早くクラスターを終了します。 この状態はターミナルです。

実行パラメーター

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

フィールド名

タイプ

説明

jar_params

の配列 STRING

Spark JAR タスクを持つジョブのパラメーターのリスト (例: "jar_params": ["john doe", "35"]。 パラメーターは、Spark JAR タスクで指定されたメイン クラスの main 関数を呼び出すために使用されます。 run-now時に指定しない場合、デフォルトでは空のリストになります。jar_params を ノートブックと組み合わせて指定することはできません。 このフィールドの JSON 表現 (つまり、 {"jar_params":["john doe","35"]}) は 10,000 バイトを超えることはできません。

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

notebook_params

パラムペアの地図

ノートブックタスクを含むジョブのキーから値へのマップ(例: "notebook_params": {"name": "john doe", "age":  "35"}。 マップはノートブックに渡され、 dbutils.widgets.get 関数を使用してアクセスできます。

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

ノートブックをjar_paramsと併用して指定することはできません。

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

このフィールドの JSON 表現 (つまり、 {"notebook_params":{"name":"john doe","age":"35"}}) は 10,000 バイトを超えることはできません。

python_params

の配列 STRING

Python タスクを持つジョブのパラメーターのリスト。 "python_params": ["john doe", "35"]。 パラメーターは、コマンド ライン パラメーターとして Python ファイルに渡されます。 run-now時に指定すると、job設定で指定されたパラメーターが上書きされます。このフィールドの JSON 表現 (つまり、 {"python_params":["john doe","35"]}) は 10,000 バイトを超えることはできません。

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

重要

これらのパラメーターは、ラテン文字 (ASCII 文字セット) のみを受け入れます。 ASCII 以外の文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例としては、中国語、日本語の漢字、絵文字などがあります。

spark_submit_params

の配列 STRING

スパーク送信タスクを持つジョブのパラメーターのリスト (例: "spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]。 パラメーターは、コマンド ライン パラメーターとして spark-submit スクリプトに渡されます。 run-now時に指定すると、job設定で指定されたパラメーターが上書きされます。このフィールドの JSON 表現 (つまり、 {"python_params":["john doe","35"]}) は 10,000 バイトを超えることはできません。

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

重要

これらのパラメーターは、ラテン文字 (ASCII 文字セット) のみを受け入れます。 ASCII 以外の文字を使用すると、エラーが返されます。 無効な非 ASCII 文字の例としては、中国語、日本語の漢字、絵文字などがあります。

実行結果状態

実行の結果の状態。

  • life_cycle_state = TERMINATEDの場合:実行にタスクがある場合、結果は使用可能であることが保証され、タスクの結果を示します。

  • life_cycle_state = PENDINGRUNNING、または SKIPPEDの場合、結果の状態は使用できません。

  • life_cycle_state = TERMINATING または lifecyclestate = INTERNAL_ERRORの場合 : 実行にタスクがあり、それを開始できた場合、結果の状態は使用可能です。

いったん使用可能になると、結果の状態は変更されません。

状態

説明

SUCCESS

タスクは正常に完了しました。

FAILED

タスクはエラーで完了しました。

TIMEDOUT

タイムアウトに達した後、実行が停止しました。

CANCELED

実行はユーザーの要求で取り消されました。

実行状態

フィールド名

タイプ

説明

life_cycle_state

実行ライフサイクル状態

実行ライフサイクルにおける実行の現在の場所の説明。 このフィールドは、応答で常に使用できます。

result_state

実行結果状態

実行の結果の状態。 使用できない場合、応答にはこのフィールドは含まれません。 result_stateの可用性の詳細については、「 RunResultState 」を参照してください。

user_cancelled_or_timedout

BOOLEAN

実行がタイムアウトしたために、ユーザーが手動で取り消されたか、スケジューラによって手動で取り消されたか。

state_message

STRING

現在の状態を説明するメッセージ。 このフィールドは構造化されておらず、正確な形式は変更される可能性があります。

S3ストレージ情報

S3 ストレージ情報。

フィールド名

タイプ

説明

destination

STRING

S3 宛先。 例: s3://my-bucket/some-prefix インスタンスプロファイルを使用してクラスターを設定し、インスタンスプロファイルに宛先への書き込みアクセス権が必要です。 AWS キーは使用できません。

region

STRING

S3 リージョン。 たとえば、 us-west-2です。 地域またはウェアハウスのいずれかを設定する必要があります。 両方が設定されている場合は、ウェアハウスが使用されます。

warehouse

STRING

S3 ウェアハウス。 たとえば、 https://s3-us-west-2.amazonaws.comです。 地域またはウェアハウスのいずれかを設定する必要があります。 両方が設定されている場合は、ウェアハウスが使用されます。

enable_encryption

BOOL

(オプション)サーバー側の暗号化を有効にします (デフォルトによって false )。

encryption_type

STRING

(オプション)暗号化の種類は、 sse-s3 または sse-kmsである可能性があります。 暗号化が有効で、デフォルトのタイプが sse-s3である場合にのみ使用されます。

kms_key

STRING

(オプション)暗号化が有効で、暗号化タイプが sse-kmsに設定されている場合に使用される KMS キー。

canned_acl

STRING

(オプション)既定のアクセス制御リストを設定します。 たとえば、 bucket-owner-full-controlです。 canned_aclが設定されている場合、クラスターインスタンスプロファイルには、送信先バケットとプレフィックスに対する s3:PutObjectAcl アクセス許可が必要です。 可能な既定 ACL の完全な一覧については、 https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl を参照してください。 デフォルトによって、オブジェクトの所有者だけがフルコントロールを取得します。 データの書き込みにクロスアカウントロールを使用している場合は、バケット所有者がログを読み取れるように bucket-owner-full-control を設定することをお勧めします。

スパークコンファレンスペア

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

タイプ

説明

STRING

構成プロパティ名。

STRING

構成プロパティの値。

スパークエンビペア

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

重要

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

タイプ

説明

STRING

環境変数名。

STRING

環境変数の値。

スパークジャータスク

フィールド名

タイプ

説明

jar_uri

STRING

2016 年 4 月以降は非推奨です。 代わりに、 libraries フィールドを使用して jar を指定します。例については、「 作成」を参照してください。

main_class_name

STRING

実行する main メソッドを含むクラスの完全な名前。 このクラスは、ライブラリとして提供される JAR に含まれている必要があります。

コードでは、 SparkContext.getOrCreate を使用して Spark コンテキストを取得する必要があります。そうしないと、ジョブの実行が失敗します。

parameters

の配列 STRING

main メソッドに渡されるパラメーター。

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

SparkPythonTask

フィールド名

タイプ

説明

python_file

STRING

実行する Python ファイルの URI。 DBFS パスと S3 パスがサポートされています。 このフィールドは必須です。

parameters

の配列 STRING

Python ファイルに渡されるコマンド ライン パラメーター。

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

SparkSubmitTask

重要

  • Spark 送信タスクは、新しいクラスターでのみ呼び出すことができます。

  • new_cluster仕様では、 librariesspark_conf はサポートされていません。 代わりに、 --jars--py-files を使用して Java および Python ライブラリを追加し、 --conf Spark 構成を設定します。

  • masterdeploy-mode、および executor-cores は、Databricks によって自動的に構成されます。パラメーターで指定 することはできません

  • 既定の場合、Spark 送信ジョブは使用可能なすべてのメモリ (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"
  ]
}

フィールド名

タイプ

説明

parameters

の配列 STRING

spark に渡されるコマンド ライン パラメーターが送信されます。

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

トリガータイプ

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

タイプ

説明

PERIODIC

定期的に実行をトリガーするスケジュール (cron スケジューラなど)。

ONE_TIME

1 回の実行を開始する 1 回限りのトリガー。 これは、UI または API を介してオンデマンドで 1 回の実行をトリガーした場合に発生します。

RETRY

以前に失敗した実行の再試行としてトリガーされる実行を示します。 これは、障害が発生した場合にジョブの再実行を要求したときに発生します。

アイテムを表示

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

フィールド名

タイプ

説明

content

STRING

ビューのコンテンツ。

name

STRING

表示項目の名前。 コード ビューの場合は、ノートブックの名前。 ダッシュボード ビューの場合は、ダッシュボードの名前。

type

ビュータイプ

表示項目のタイプ。

ビュータイプ

タイプ

説明

NOTEBOOK

ノートブック ビュー項目。

DASHBOARD

ダッシュボード ビュー項目。

ビューからエクスポートへ

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

タイプ

説明

CODE

ノートブックのコード ビュー。

DASHBOARDS

ノートブックのすべてのダッシュボード ビュー。

ALL

ノートブックのすべてのビュー。

ウェブフック

フィールド名

タイプ

説明

id

STRING

システム通知先を参照する識別子。 このフィールドは必須です。

ウェブフック通知

フィールド名

タイプ

説明

on_start

ウェブフックの配列

実行の開始時に通知されるシステム宛先のオプションのリスト。 ジョブの作成、リセット、または更新時に指定しない場合、リストは空になり、通知は送信されません。 on_start プロパティには、最大 3 つの宛先を指定できます。

on_success

ウェブフックの配列

実行が正常に完了したときに通知されるシステム宛先のオプションのリスト。 実行が TERMINATED life_cycle_stateSUCCESSFUL result_stateで終了した場合、実行は正常に完了したと見なされます。 ジョブの作成、リセット、または更新時に指定しない場合、リストは空になり、通知は送信されません。 on_success プロパティには、最大 3 つの宛先を指定できます。

on_failure

ウェブフックの配列

実行が失敗したときに通知されるシステム宛先のオプションのリスト。 実行が INTERNAL_ERROR life_cycle_state または SKIPPEDFAILED、または TIMED_OUT result_stateで終了した場合、実行は失敗したと見なされます。 ジョブの作成、リセット、または更新時にこれが指定されていない場合、リストは空になり、通知は送信されません。 on_failure プロパティには、最大 3 つの宛先を指定できます。

on_duration_warning_threshold_exceeded

ウェブフックの配列

実行時間が [health] フィールドの RUN_DURATION_SECONDS メトリクスに指定されたしきい値を超えたときに通知されるシステム宛先のオプションのリスト。on_duration_warning_threshold_exceeded プロパティには、最大 3 つの宛先を指定できます。

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

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

フィールド名

タイプ

説明

destination

STRING

ファイルの宛先。 例: /Users/someone@domain.com/init_script.sh