ジョブ API 2.0

重要

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

ジョブ API を使用すると、ジョブを作成、編集、削除できます。 Jobs API へのリクエストの最大許容サイズは 10 MB です。

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

警告

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

注:

Jobs 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 file と jq.

応答

{
  "job_id": 1
}

要求の構造

重要

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

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

フィールド名

タイプ

説明

existing_cluster_id または new_cluster

STRING または 新規クラスター

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

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

PipelineTask を指定する場合、このフィールドは空にすることができます。

notebook_task または spark_jar_taskspark_python_taskspark_submit_task 、または pipeline_task または run_job_task

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

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

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

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

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

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

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

name

STRING

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

libraries

ライブラリの配列

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

email_notifications

JobEmail通知

このジョブの実行の開始時と完了時、およびこのジョブの削除時に通知される電子メール アドレスのオプションのセット。 安全な行動は、電子メールを送信しないことです。

webhook_notifications

ウェブフック通知

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

notification_settings

ジョブ通知設定

このジョブの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

クロンスケジュール

このジョブのオプションの定期スケジュール。 安全な動作は、ジョブ 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 file と 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で指定されたアドレスに電子メールを送信します。 ジョブがすでに削除されている場合は、アクションは発生しません。 ジョブが削除されると、その詳細も実行履歴もジョブ 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

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

依頼

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 file と 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

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

リセット

エンドポイント

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 file と jq.

要求の構造

フィールド名

タイプ

説明

job_id

INT64

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

new_settings

ジョブ設定

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

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

更新

エンドポイント

HTTP メソッド

2.0/jobs/update

POST

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

このリクエスト例では、ライブラリを削除し、作成例で定義したジョブ 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> Databricks ワークスペース インスタンス名(例: dbc-a1b2345c-d6e7.cloud.databricks.comを使用します。

  • ソリューションに適したフィールドを含むupdate-job.jsonの内容。

この例では、 .netrc file と 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 およびノートブックワークフローによって作成されたジョブにも影響します。

  • ワークスペースには最大 12,000 個の保存済みジョブを含めることができます。

  • ジョブには最大 100 個のタスクを含めることができます。

エンドポイント

HTTP メソッド

2.0/jobs/run-now

POST

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

ヒント

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

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json

ノートブックジョブのリクエストの例:

{
  "job_id": 1,
  "notebook_params": {
    "name": "john doe",
    "age": "35"
  }
}

JAR ジョブのリクエストの例:

{
  "job_id": 2,
  "jar_params": [ "john doe", "35" ]
}

以下のように置き換えてください。

  • <databricks-instance> Databricks ワークスペース インスタンス名(例: dbc-a1b2345c-d6e7.cloud.databricks.comを使用します。

  • ソリューションに適したフィールドを含むrun-job.jsonの内容。

この例では、 .netrc file と 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

ParamPair のマップ

ノートブックタスクのジョブのキーから値へのマップ、例: "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で指定した場合、ジョブ設定で指定された問題が上書きされます。 このフィールドの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で指定した場合、ジョブ設定で指定された問題が上書きされます。 このフィールドの 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 およびノートブックワークフローによって作成されたジョブにも影響します。

  • ワークスペースには最大 12,000 個の保存済みジョブを含めることができます。

  • ジョブには最大 100 個のタスクを含めることができます。

エンドポイント

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 file と jq.

応答

{
  "run_id": 123
}

要求の構造

重要

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

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

フィールド名

タイプ

説明

existing_cluster_id または new_cluster

STRING または 新規クラスター

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

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

PipelineTask を指定する場合、このフィールドは空にすることができます。

notebook_task または spark_jar_taskspark_python_taskspark_submit_task 、または pipeline_task または run_job_task

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

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

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

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

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

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

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

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 file と 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 、またはTERMINATING RunLifecycleStateでの実行です。 このフィールドは、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 の場合、指定されたフィルターに一致する追加の実行を一覧表示できます。

実行 get

エンドポイント

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 file と 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

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

state

ランステート

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

schedule

クロンスケジュール

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

task

ジョブタスク

実行によって実行されたタスク(ある場合)。

cluster_spec

クラスタスペック

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

cluster_instance

クラスタインスタンス

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

overriding_parameters

ランパラメータ

この実行に使用される問題。

start_time

INT64

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

end_time

INT64

この実行が終了した時刻をエポックミリ秒単位で示します (UTC 1970 年 1 月 1 日からのミリ秒)。 ジョブがまだ実行中の場合、このフィールドは 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 file と 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

ビューToExport

エクスポートするビュー (CODE、DASHBOARDS、または ALL)。 デフォルトはCODEです。

回答の構成

フィールド名

タイプ

説明

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 ファイル。

要求の構造

フィールド名

タイプ

説明

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

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

このエンドポイントは、 run_id問題が有効であることを検証し、無効な場合には HTTP ステータス コード 400 を返します。

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

依頼

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

又は:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

以下のように置き換えてください。

この例では、 .netrc file と 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

ノートブックの場合は、ノートブック タスクの出力 (利用可能な場合)。 dbutils.notebook.exit()を呼び出さずに終了した (正常または失敗して) ノートブック タスクは、空の出力を持つと見なされます。 このフィールドは設定されますが、結果の値は空になります。

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

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 より大きくなければなりません。

Awsアトリビュート

クラスターの作成時に設定される、 Amazonウェブ サービスに関連する属性。

フィールド名

タイプ

説明

first_on_demand

INT32

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

availability

アトラベイラビリティ

first_on_demandノードより後のすべての後続のノードに使用される可用性の種類。 注: first_on_demand がゼロの場合、この可用性タイプはクラスター全体に使用されます。

zone_id

STRING

クラスターが存在する可用性ゾーン (AZ) の識別子。 デフォルトでは、設定の値はauto (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

エブスボリュームタイプ

このクラスターで起動される 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 可用性タイプのセット。

タイプ

説明

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 は引き続き利用できます。

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

クラスタログコンフィ

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

フィールド名

タイプ

説明

dbfs または s3

dbfsストレージ情報

S3ストレージ情報

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

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

クラスタスペック

重要

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

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

フィールド名

タイプ

説明

existing_cluster_id または new_cluster

STRING または 新規クラスター

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

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

PipelineTask を指定する場合、このフィールドは空にすることができます。

libraries

ライブラリの配列

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

クラスタータグ

クラスタータグの定義。

タイプ

説明

STRING

タグのキー。 キーの長さは、1 から 127 文字の UTF-8 文字 (両端を含む) である必要があります。 すべての制限のリストについては、AWS タグ制限を参照してください: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions

STRING

タグの値。 値の長さは 255 UTF-8 文字以下である必要があります。 すべての制限のリストについては、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 TimeZone を参照してください。 このフィールドは必須です。

pause_status

STRING

このスケジュールが停止するかどうかを示します。 「停止する」または「一時停止解除」のいずれかです。

dbfsストレージ情報

DBFS ストレージ情報。

フィールド名

タイプ

説明

destination

STRING

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

エブスボリュームタイプ

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

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

JobEmail通知

重要

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

フィールド名

タイプ

説明

on_start

の配列 STRING

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

on_success

の配列 STRING

実行が正常に完了したときに通知される電子メール アドレスのリスト。 実行は、 TERMINATED life_cycle_stateSUCCESSFUL result_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で指定された受信者に電子メールを送信しません。

フィールド名

タイプ

説明

on_start

Webhook の配列

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

on_success

Webhook の配列

実行が正常に完了したときに通知されるシステム宛先のオプションのリスト。 実行は、 TERMINATED life_cycle_stateSUCCESSFUL result_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つの目的地を指定できます。

ジョブ通知設定

フィールド名

タイプ

説明

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

ジョブ設定

重要

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

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

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

フィールド名

タイプ

説明

existing_cluster_id または new_cluster

STRING または 新規クラスター

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

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

PipelineTask を指定する場合、このフィールドは空にすることができます。

notebook_task または spark_jar_taskspark_python_taskspark_submit_task 、または pipeline_task または run_job_task

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

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

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

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

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

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

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

name

STRING

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

libraries

ライブラリの配列

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

email_notifications

JobEmail通知

このジョブの実行が開始または完了したとき、およびこのジョブが削除されたときに通知される電子メール アドレスのオプションのセット。 安全な行動は、電子メールを送信しないことです。

webhook_notifications

ウェブフック通知

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

notification_settings

ジョブ通知設定

このジョブの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

クロンスケジュール

このジョブのオプションの定期スケジュール。 安全な動作は、ジョブ 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

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

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

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

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

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

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

ジョブヘルスルール

フィールド名

タイプ

説明

metric

STRING

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

operator

STRING

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

value

INT32

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

ジョブヘルスルール

フィールド名

タイプ

説明

rules

JobsHealthRule の配列

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

ライブラリ

フィールド名

タイプ

説明

jar または eggwhlpypi 、または maven または cran

STRING OR 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 にアクセスするには、インスタンスを使用してクラスターを起動する必要がある場合があります。

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

whlの場合、インストールする wheel またはzip形式の 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ライブラリ

フィールド名

タイプ

説明

coordinates

STRING

Gradle スタイルの 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オートスケール

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

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

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

spark_version

STRING

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

spark_conf

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

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

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

aws_attributes

Awsアトリビュート

Amazon Web サービス上で動作するクラスターに関連する属性。 クラスターの作成時に指定されていない場合は、デフォルト値のセットが使用されます。

node_type_id

STRING

このフィールドは、単一の値を通じて、このクラスター内の各 Spark ノードで使用可能なリソースをエンコードします。 たとえば、 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

クラスタログコンフィ

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 に追加することをお勧めします。 これにより、すべてのデフォルトのデータブリックス管理環境変数も含まれるようになります。

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 では、この API は値の最初の 1 MB を返すように制限されています。 より大きな結果が必要な場合は、ジョブで結果をクラウド ストレージ サービスに保存できます。 dbutils.notebook.exit() が呼び出されなかった場合、このフィールドは存在しません。

truncated

BOOLEAN

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

ノートブックタスク

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

制限を超えているセルを見つけるのに助けが必要な場合は、ノートブックを万能クラスターに対して実行し、このノートブックの自動保存テクニックを使用してください。

フィールド名

タイプ

説明

notebook_path

STRING

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

revision_timestamp

LONG

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

base_parameters

ParamPair のマップ

このジョブの各実行に使用されるベースの割り当て。 問題を指定して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 パイプライン タスクの完全な名前。

PythonPyPiライブラリ

フィールド名

タイプ

説明

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

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

state

ランステート

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

schedule

クロンスケジュール

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

task

ジョブタスク

実行によって実行されたタスク(ある場合)。

cluster_spec

クラスタスペック

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

cluster_instance

クラスタインスタンス

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

overriding_parameters

ランパラメータ

この実行に使用される問題。

start_time

INT64

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

setup_duration

INT64

クラスターのセットアップにかかった時間(ミリ秒単位)。 新しいクラスターで実行する場合、これはクラスターの作成時間になります。既存のクラスターで実行する場合、この時間は非常に短くなります。

execution_duration

INT64

JAR またはノートブック内のコマンドの実行が完了、失敗、タイムアウト、キャンセル、または予期しないエラーが発生するまでにかかった時間 (ミリ秒)。

cleanup_duration

INT64

クラスターを終了し、関連するアーティファクトをクリーンアップするのにかかった時間 (ミリ秒)。 実行の合計時間は、setup_duration、execution_duration、および cleanup_duration の合計です。

end_time

INT64

この実行が終了した時刻をエポックミリ秒単位で示します (UTC 1970 年 1 月 1 日からのミリ秒)。 ジョブがまだ実行中の場合、このフィールドは 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_idattempt_numberを増加させます。 実行は成功するまでのみ再試行され、最大値attempt_numberはジョブのmax_retries値と同じです。

RunJobTask (ジョブ タスクの実行)

フィールド名

タイプ

説明

job_id

INT32

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

RunLifeCycleState

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

  • QUEUED -> PENDING

  • PENDING -> RUNNING -> TERMINATING -> TERMINATED

  • PENDING -> SKIPPED

  • PENDING -> INTERNAL_ERROR

  • RUNNING -> INTERNAL_ERROR

  • TERMINATING -> INTERNAL_ERROR

状態

説明

QUEUED

実行はトリガーされましたが、次のいずれかの制限に達したためキューに入れられました。

  • ワークスペース内で最大音量のアクティブ実行。

  • ワークスペース内で実行できる最大のライナーRun Jobタスク。

  • ジョブの最大ライナー実行。

この状態に到達するには、ジョブまたは実行でキューイングが有効になっている必要があります。

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

ParamPair のマップ

ノートブックタスクのジョブのキーから値へのマップ、例: "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で指定した場合、ジョブ設定で指定された問題が上書きされます。 このフィールドの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で指定した場合、ジョブ設定で指定された問題が上書きされます。 このフィールドの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

実行はユーザーの要求によりキャンセルされました。

ランステート

フィールド名

タイプ

説明

life_cycle_state

RunLifeCycleState

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

result_state

RunResultState (実行結果状態)

実行の結果の状態。 使用できない場合、応答にはこのフィールドは含まれません。 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

環境変数の値。

SparkJarタスク

フィールド名

タイプ

説明

jar_uri

STRING

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

main_class_name

STRING

主な実行方法を含むクラスの正式名です。このクラスはライブラリとして提供されるJARに含める必要があります。

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

parameters

の配列 STRING

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

ジョブ実行に関する情報を含むバッチを設定するには、ジョブ実行に関するコンテキストをジョブタスクに渡します。

SparkPythonタスク

フィールド名

タイプ

説明

python_file

STRING

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

parameters

の配列 STRING

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

ジョブ実行に関する情報を含むバッチを設定するには、ジョブ実行に関するコンテキストをジョブタスクに渡します。

SparkSubmitタスク

重要

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

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

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

  • デフォルトでは、Spark Submit ジョブは使用可能なすべてのメモリを使用します (Databricks サービス用に予約されたメモリは除く)。 --driver-memory--executor-memory を小さい値に設定して、オフヒープ使用の余地を残すことができます。

  • --jars--py-files--files引数は DBFS および S3 パスをサポートします。

たとえば、 JAR DBFSにアップロードされていると仮定すると、次の設定を行うことで SparkPi を実行できます。

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}

フィールド名

タイプ

説明

parameters

の配列 STRING

Spark Submit に渡されるコマンドライン パラメーター。

ジョブ実行に関する情報を含むバッチを設定するには、ジョブ実行に関するコンテキストをジョブタスクに渡します。

トリガータイプ

これらは実行を開始できるトリガーの種類です。

タイプ

説明

PERIODIC

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

ONE_TIME

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

RETRY

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

ビューアイテム

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

フィールド名

タイプ

説明

content

STRING

ビューの内容。

name

STRING

ビュー アイテムの名前。 コードビューの場合はノートブックの名前。 ダッシュボード ビューの場合は、ダッシュボードの名前。

type

ビュータイプ

ビュー アイテムの種類。

ビュータイプ

タイプ

説明

NOTEBOOK

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

DASHBOARD

ダッシュボード ビュー アイテム。

ビューToExport

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

タイプ

説明

CODE

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

DASHBOARDS

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

ALL

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

Webhook

フィールド名

タイプ

説明

id

STRING

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

ウェブフック通知

フィールド名

タイプ

説明

on_start

Webhook の配列

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

on_success

Webhook の配列

実行が正常に完了したときに通知されるシステム宛先のオプションのリスト。 実行は、 TERMINATED life_cycle_stateSUCCESSFUL result_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つの目的地を指定できます。

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

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

フィールド名

タイプ

説明

destination

STRING

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