Delta Live Tables API ガイド

重要

この記事の内容は廃止されており、更新されない可能性があります。 Delta Live TablesDatabricksREST API リファレンスの を参照してください。

Delta Live Tables API を使用すると、パイプラインに関する詳細を作成、編集、削除、開始、および表示できます。

重要

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

パイプライン を作成する

エンドポイント

HTTP メソッド

2.0/pipelines

POST

新しい Delta Live Tables パイプラインを作成します。

この例では、新しいトリガーされたパイプラインを作成します。

依頼

curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines \
--data @pipeline-settings.json

pipeline-settings.json:

{
  "name": "Wikipedia pipeline (SQL)",
  "storage": "/Users/username/data",
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    }
  ],
  "libraries": [
    {
      "notebook": {
        "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
      }
    }
  ],
  "continuous": false
}

取り替える:

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

応答

{
  "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5"
}

要求構造

「パイプライン設定」を参照してください。

応答構造

フィールド名

タイプ

説明

パイプライン

STRING

新しく作成されたパイプラインの一意の識別子。

パイプライン を編集する

エンドポイント

HTTP メソッド

2.0/pipelines/{pipeline_id}

PUT

既存のパイプラインの設定を更新します。

この例では、ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5のパイプラインに target パラメーターを追加します。

依頼

curl --netrc -X PUT \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 \
--data @pipeline-settings.json

pipeline-settings.json

{
  "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
  "name": "Wikipedia pipeline (SQL)",
  "storage": "/Users/username/data",
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    }
  ],
  "libraries": [
    {
      "notebook": {
        "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
      }
    }
  ],
  "target": "wikipedia_quickstart_data",
  "continuous": false
}

取り替える:

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

要求構造

「パイプライン設定」を参照してください。

パイプライン を削除する

エンドポイント

HTTP メソッド

2.0/pipelines/{pipeline_id}

DELETE

Delta Live Tables システムからパイプラインを削除します。

この例では、ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5のパイプラインを削除します。

依頼

curl --netrc -X DELETE \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5

取り替える:

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

パイプラインの更新 を開始する

エンドポイント

HTTP メソッド

2.0/pipelines/{pipeline_id}/updates

POST

パイプラインの更新を開始します。 パイプライン グラフ全体の更新、または特定のテーブルの選択的な更新を開始できます。

完全更新 を開始する

この例では、ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5のパイプラインの完全更新で更新を開始します。

依頼
curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates \
--data '{ "full_refresh": "true" }'

取り替える:

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

応答
{
  "update_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8",
  "request_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8"
}

選択したテーブル の更新を開始する

この例では、パイプライン内の sales_orders_cleaned テーブルと sales_order_in_chicago テーブルを ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5で更新する更新を開始します。

依頼
curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates \
--data '{ "refresh_selection": ["sales_orders_cleaned", "sales_order_in_chicago"] }'

取り替える:

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

応答
{
  "update_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8",
  "request_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8"
}

選択したテーブル の完全な更新を開始する

この例では、 sales_orders_cleaned テーブルと sales_order_in_chicago テーブルの更新と、ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5のパイプライン内の customers テーブルと sales_orders_raw テーブルの完全更新を含む更新を開始します。

依頼
curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates \
--data '{ "refresh_selection": ["sales_orders_cleaned", "sales_order_in_chicago"], "full_refresh_selection": ["customers", "sales_orders_raw"] }'

取り替える:

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

応答
{
  "update_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8",
  "request_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8"
}

要求構造

フィールド名

タイプ

説明

full_refresh

BOOLEAN

すべてのデータを再処理するかどうか。 trueの場合、Delta Live Tables システムは、パイプラインを実行する前にリセット可能なすべてのテーブルをリセットします。

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

デフォルト値は falseです。

full_refesh が true で、 refresh_selection または full_refresh_selection のいずれかが設定されている場合は、エラーが返されます。

refresh_selection

の配列 STRING

更新するテーブルのリスト。 refresh_selection を使用して、パイプライングラフで選択したテーブルセットの更新を開始します。

このフィールドはオプションです。 refresh_selectionfull_refresh_selection の両方が空の場合は、パイプライン グラフ全体が更新されます。

次の場合、エラーが返されます。

  • full_refesh が真であり、 refresh_selection が設定されます。

  • 指定されたテーブルの 1 つ以上がパイプライン グラフに存在しません。

full_refresh_selection

の配列 STRING

完全更新で更新するテーブルの一覧。 full_refresh_selection を使用して、選択したテーブル セットの更新を開始します。指定されたテーブルの状態は、 Delta Live Tables システムが更新を開始する前にリセットされます。

このフィールドはオプションです。 refresh_selectionfull_refresh_selection の両方が空の場合は、パイプライン グラフ全体が更新されます。

次の場合、エラーが返されます。

  • full_refesh が真であり、 refresh_selection が設定されます。

  • 指定されたテーブルの 1 つ以上がパイプライン グラフに存在しません。

  • 指定されたテーブルの 1 つ以上がリセット可能ではありません。

応答構造

フィールド名

タイプ

説明

update_id

STRING

新しく作成された更新プログラムの一意の識別子。

request_id

STRING

更新を開始した要求の一意の識別子。

パイプライン更新要求 の状態を取得する

エンドポイント

HTTP メソッド

2.0/pipelines/{pipeline_id}/requests/{request_id}

GET

request_idに関連付けられているパイプライン更新の状態と情報を取得します。ここで、 request_id はパイプライン更新を開始する要求の一意の識別子です。更新が再試行または再開されると、新しい更新はrequest_idを継承します。

ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5のパイプラインの場合、この例では、要求 ID a83d9f7c-d798-4fd5-aa39-301b6e6f4429に関連付けられている更新の状態と情報が返されます。

依頼

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/requests/a83d9f7c-d798-4fd5-aa39-301b6e6f4429

取り替える:

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

応答

{
   "status": "TERMINATED",
   "latest_update":{
     "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
     "update_id": "90da8183-89de-4715-b5a9-c243e67f0093",
     "config":{
       "id": "aae89b88-e97e-40c4-8e1a-1b7ac76657e8",
       "name": "Retail sales (SQL)",
       "storage": "/Users/username/data",
       "configuration":{
         "pipelines.numStreamRetryAttempts": "5"
       },
       "clusters":[
         {
           "label": "default",
           "autoscale":{
             "min_workers": 1,
             "max_workers": 5,
             "mode": "ENHANCED"
           }
         }
       ],
       "libraries":[
         {
           "notebook":{
             "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
           }
         }
       ],
       "continuous": false,
       "development": true,
       "photon": true,
       "edition": "advanced",
       "channel": "CURRENT"
     },
     "cause": "API_CALL",
     "state": "COMPLETED",
     "cluster_id": "1234-567891-abcde123",
     "creation_time": 1664304117145,
     "full_refresh": false,
     "request_id": "a83d9f7c-d798-4fd5-aa39-301b6e6f4429"
   }
}

応答構造

フィールド名

タイプ

説明

status

STRING

パイプライン更新要求の状態。 のいずれか 1 つ

  • ACTIVE: この要求の更新がアクティブに実行されているか、新しい更新で再試行される可能性があります。

  • TERMINATED: 要求は終了し、再試行または再開されません。

pipeline_id

STRING

パイプラインの一意の識別子。

update_id

STRING

更新プログラムの一意の識別子。

config

パイプライン設定

パイプライン設定。

cause

STRING

更新のトリガー。 API_CALLRETRY_ON_FAILURESERVICE_UPGRADESCHEMA_CHANGEJOB_TASK、または USER_ACTIONのいずれかです。

state

STRING

更新プログラムの状態。 QUEUEDCREATED WAITING_FOR_RESOURCESINITIALIZINGRESETTINGSETTING_UP_TABLESRUNNINGSTOPPINGCOMPLETEDFAILED、または CANCELEDのいずれか。

cluster_id

STRING

更新を実行しているクラスターの識別子。

creation_time

INT64

更新プログラムが作成されたときのタイムスタンプ。

full_refresh

BOOLEAN

この更新プログラムが実行前にすべてのテーブルをリセットするかどうか

refresh_selection

の配列 STRING

完全更新なしで更新するテーブルのリスト。

full_refresh_selection

の配列 STRING

完全更新で更新するテーブルの一覧。

request_id

STRING

更新を開始した要求の一意の識別子。 これは、 更新 要求によって返される値です。 更新が再試行または再開されると、新しい更新はrequest_idを継承します。 ただし、 update_id は異なります。

アクティブなパイプラインの更新 を停止する

エンドポイント

HTTP メソッド

2.0/pipelines/{pipeline_id}/stop

POST

アクティブなパイプラインの更新を停止します。 更新が実行されていない場合、この要求は実行されません。

連続パイプラインの場合、パイプラインの実行は停止するです。 現在処理中のテーブルは更新を完了しますが、ダウンストリーム テーブルは更新されません。 次のパイプライン更新時に、Delta Live Tables は、処理が完了しなかったテーブルの選択された更新を実行し、残りのパイプライン DAG の処理を再開します。

トリガーされたパイプラインの場合、パイプラインの実行は停止されます。 現在処理中のテーブルは更新を完了しますが、ダウンストリーム テーブルは更新されません。 次のパイプライン更新時に、 Delta Live Tables はすべてのテーブルを更新します。

この例では、ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5のパイプラインの更新を停止します。

依頼

curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/stop

取り替える:

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

パイプライン イベントの 一覧表示

エンドポイント

HTTP メソッド

2.0/pipelines/{pipeline_id}/events

GET

パイプラインのイベントを取得します。

この例では、ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5のパイプラインの最大 5 つのイベントを取得します。

依頼

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/events?max_results=5

取り替える:

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

要求構造

フィールド名

タイプ

説明

page_token

STRING

前の呼び出しによって返されたページ トークン。 このフィールドは、max_results を除くこの要求のすべてのフィールドと相互に排他的です。 このフィールドの設定時に max_results 以外のフィールドが設定されている場合は、エラーが返されます。

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

max_results

INT32

1 ページに返されるエントリの最大数。 システムは、使用可能なイベントがさらに多い場合でも、応答で返されるイベントが max_results 個未満になる場合があります。

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

デフォルト値は 25 です。

最大値は 100 です。 max_results の値が 100 より大きい場合は、エラーが返されます。

order_by

STRING

結果のタイムスタンプによる並べ替え順序を示す文字列 ( ["timestamp asc"]など)。

並べ替え順序は、昇順または降順にすることができます。 デフォルトでは、イベントはタイムスタンプの降順で返されます。

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

filter

STRING

結果のサブセットを選択するための基準で、SQL に似た構文を使用して表されます。 サポートされているフィルターは次のとおりです。

  • level='INFO' (または WARN または ERROR)

  • level in ('INFO', 'WARN')

  • id='[event-id]'

  • timestamp > 'TIMESTAMP' (または >=<<==)

次のような複合式がサポートされています。 level in ('ERROR', 'WARN') AND timestamp> '2021-07-22T06:37:33.083Z'

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

応答構造

フィールド名

タイプ

説明

events

パイプライン イベントの配列。

要求条件に一致するイベントのリスト。

next_page_token

STRING

存在する場合は、イベントの次のページをフェッチするためのトークン。

prev_page_token

STRING

存在する場合は、イベントの前のページをフェッチするトークン。

パイプラインの詳細 を取得する

エンドポイント

HTTP メソッド

2.0/pipelines/{pipeline_id}

GET

パイプライン設定や最近の更新など、パイプラインに関する詳細を取得します。

この例では、ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5のパイプラインの詳細を取得します。

依頼

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5

取り替える:

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

応答

{
  "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
  "spec": {
    "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
    "name": "Wikipedia pipeline (SQL)",
    "storage": "/Users/username/data",
    "clusters": [
      {
        "label": "default",
        "autoscale": {
          "min_workers": 1,
          "max_workers": 5,
          "mode": "ENHANCED"
        }
      }
    ],
    "libraries": [
      {
        "notebook": {
          "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
        }
      }
    ],
    "target": "wikipedia_quickstart_data",
    "continuous": false
  },
  "state": "IDLE",
  "cluster_id": "1234-567891-abcde123",
  "name": "Wikipedia pipeline (SQL)",
  "creator_user_name": "username",
  "latest_updates": [
    {
      "update_id": "8a0b6d02-fbd0-11eb-9a03-0242ac130003",
      "state": "COMPLETED",
      "creation_time": "2021-08-13T00:37:30.279Z"
    },
    {
      "update_id": "a72c08ba-fbd0-11eb-9a03-0242ac130003",
      "state": "CANCELED",
      "creation_time": "2021-08-13T00:35:51.902Z"
    },
    {
      "update_id": "ac37d924-fbd0-11eb-9a03-0242ac130003",
      "state": "FAILED",
      "creation_time": "2021-08-13T00:33:38.565Z"
    }
  ],
  "run_as_user_name": "username"
}

応答構造

フィールド名

タイプ

説明

pipeline_id

STRING

パイプラインの一意の識別子。

spec

パイプライン設定

パイプライン設定。

state

STRING

パイプラインの状態。 IDLE または RUNNINGのいずれか。

state = RUNNINGの場合、少なくとも 1 つのアクティブな更新があります。

cluster_id

STRING

パイプラインを実行しているクラスターの識別子。

name

STRING

このパイプラインのわかりやすい名前。

creator_user_name

STRING

パイプライン作成者のユーザー名。

latest_updates

の配列 状態情報

パイプラインの最新の更新の状態 (最新の更新プログラムから順に並べられます)。

run_as_user_name

STRING

パイプラインを実行するユーザー名。

更新プログラムの詳細 を取得する

エンドポイント

HTTP メソッド

2.0/pipelines/{pipeline_id}/updates/{update_id}

GET

パイプラインの更新の詳細を取得します。

この例では、ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5のパイプラインの更新 9a84f906-fc51-11eb-9a03-0242ac130003 の詳細を取得します。

依頼

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates/9a84f906-fc51-11eb-9a03-0242ac130003

取り替える:

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

応答

{
  "update": {
    "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
    "update_id": "9a84f906-fc51-11eb-9a03-0242ac130003",
    "config": {
      "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
      "name": "Wikipedia pipeline (SQL)",
      "storage": "/Users/username/data",
      "configuration": {
        "pipelines.numStreamRetryAttempts": "5"
      },
      "clusters": [
        {
          "label": "default",
          "autoscale": {
            "min_workers": 1,
            "max_workers": 5,
            "mode": "ENHANCED"
          }
        }
      ],
      "libraries": [
        {
          "notebook": {
            "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
          }
        }
      ],
      "target": "wikipedia_quickstart_data",
      "continuous": false,
      "development": false
    },
    "cause": "API_CALL",
    "state": "COMPLETED",
    "creation_time": 1628815050279,
    "full_refresh": true,
    "request_id": "a83d9f7c-d798-4fd5-aa39-301b6e6f4429"
  }
}

応答構造

フィールド名

タイプ

説明

pipeline_id

STRING

パイプラインの一意の識別子。

update_id

STRING

この更新プログラムの一意の識別子。

config

パイプライン設定

パイプライン設定。

cause

STRING

更新のトリガー。 API_CALLRETRY_ON_FAILURESERVICE_UPGRADEのいずれか。

state

STRING

更新プログラムの状態。 QUEUEDCREATED WAITING_FOR_RESOURCESINITIALIZINGRESETTINGSETTING_UP_TABLESRUNNINGSTOPPINGCOMPLETEDFAILED、または CANCELEDのいずれか。

cluster_id

STRING

パイプラインを実行しているクラスターの識別子。

creation_time

INT64

更新プログラムが作成されたときのタイムスタンプ。

full_refresh

BOOLEAN

これが完全な更新だったかどうか。 true の場合、更新を実行する前にすべてのパイプライン テーブルがリセットされました。

パイプラインの 一覧表示

エンドポイント

HTTP メソッド

2.0/pipelines/

GET

Delta Live Tables システムで定義されているパイプラインを一覧表示します。

この例では、名前に quickstartが含まれているパイプラインの詳細を取得します。

依頼

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines?filter=name%20LIKE%20%27%25quickstart%25%27

取り替える:

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

応答

{
  "statuses": [
    {
      "pipeline_id": "e0f01758-fc61-11eb-9a03-0242ac130003",
      "state": "IDLE",
      "name": "DLT quickstart (Python)",
      "latest_updates": [
        {
          "update_id": "ee9ae73e-fc61-11eb-9a03-0242ac130003",
          "state": "COMPLETED",
          "creation_time": "2021-08-13T00:34:21.871Z"
        }
      ],
      "creator_user_name": "username"
    },
    {
      "pipeline_id": "f4c82f5e-fc61-11eb-9a03-0242ac130003",
      "state": "IDLE",
      "name": "My DLT quickstart example",
      "creator_user_name": "username"
    }
  ],
  "next_page_token": "eyJ...==",
  "prev_page_token": "eyJ..x9"
}

要求構造

フィールド名

タイプ

説明

page_token

STRING

前の呼び出しによって返されたページ トークン。

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

max_results

INT32

1 ページに返されるエントリの最大数。 システムは、使用可能なイベントがさらに多い場合でも、応答で返されるイベントが max_results 個未満になる場合があります。

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

デフォルト値は 25 です。

最大値は 100 です。 max_results の値が 100 より大きい場合は、エラーが返されます。

order_by

の配列 STRING

結果の順序を指定する文字列のリスト ( ["name asc"]など)。 サポートされている order_by フィールドは、 idnameです。 デフォルトは id ascです。

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

filter

STRING

指定した条件に基づいて結果のサブセットを選択します。

サポートされているフィルターは次のとおりです。

"notebook='<path>'" をクリックして、指定されたノートブック パスを参照するパイプラインを選択します。

name LIKE '[pattern]' をクリックして、 patternと一致する名前のパイプラインを選択します。 次のようなワイルドカードがサポートされています。 name LIKE '%shopping%'

複合フィルターはサポートされていません。

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

応答構造

フィールド名

タイプ

説明

statuses

パイプライン状態情報の配列

要求条件に一致するイベントのリスト。

next_page_token

STRING

存在する場合は、イベントの次のページをフェッチするためのトークン。

prev_page_token

STRING

存在する場合は、イベントの前のページをフェッチするトークン。

データ構造

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 スポット料金が高すぎる場合など) はオンデマンドインスタンスにフォールバックします。

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

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

キーバリュー

設定パラメーターを指定するキーと値のペア。

フィールド名

タイプ

説明

key

STRING

構成プロパティ名。

value

STRING

構成プロパティの値。

ノートブックライブラリ

パイプライン コードを含むノートブックの仕様。

フィールド名

タイプ

説明

path

STRING

ノートブックへの絶対パス。

このフィールドは必須です。

パイプライン自動スケール

オートスケール クラスターを定義する属性。

フィールド名

タイプ

説明

min_workers

INT32

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

max_workers

INT32

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

mode

STRING

クラスターのオートスケール モード:

パイプラインライブラリ

パイプラインの依存関係の仕様。

フィールド名

タイプ

説明

notebook

ノートブックライブラリ

Delta Live Tables データセットを定義するノートブックへのパス。パスは Databricks ワークスペース内にある必要があります (例: { "notebook" : { "path" : "/my-pipeline-notebook-path" } })。

パイプライン新しいクラスター

パイプライン クラスターの仕様。

Delta Live Tables システムでは、次の属性が設定されます。これらの属性は、ユーザーが構成することはできません。

  • spark_version

フィールド名

タイプ

説明

label

STRING

デフォルトのクラスターを構成するための default 、またはメンテナンスクラスターを構成するための maintenance のいずれかのクラスター仕様のラベル。

このフィールドはオプションです。 デフォルト値は defaultです。

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 呼び出しを使用して取得できます。

driver_node_type_id

STRING

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

ssh_public_keys

の配列 STRING

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

custom_tags

キーバリュー

クラスターリソースのタグのセットを含むオブジェクト。 Databricks は、既定のタグに加えて、すべてのクラスター リソースにこれらのタグをタグ付けします。

メモ:

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

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

cluster_log_conf

ClusterLogConf

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

spark_env_vars

キーバリュー

オプションのユーザー指定の環境変数のキーと値のペアのセットを含むオブジェクト。 形式 (X,Y) のキーと値のペアは、ドライバーとワーカーの起動時にそのまま (つまり、 export X='Y') エクスポートされます。

追加の SPARK_DAEMON_JAVA_OPTSセットを指定するには、次の例に示すように、Databricks で $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"}

init_scripts

InitScriptInfoの配列

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

instance_pool_id

STRING

クラスターが属するインスタンス プールの ID (オプション)。 「プール構成リファレンス」を参照してください。

driver_instance_pool_id

STRING

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

policy_id

STRING

A クラスターポリシー ID.

num_workers OR autoscale

INT32 または InitScriptInfo

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

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

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

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

apply_policy_default_values

BOOLEAN

欠落しているクラスター属性に ポリシー のデフォルト値を使用するかどうか。

パイプライン設定

パイプライン デプロイの設定。

フィールド名

タイプ

説明

id

STRING

このパイプラインの一意の識別子。

識別子は Delta Live Tables システムによって作成されるため、パイプラインの作成時に指定することはできません。

name

STRING

このパイプラインのわかりやすい名前。

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

デフォルトでは、パイプライン名は一意である必要があります。 重複する名前を使用するには、パイプライン設定で allow_duplicate_namestrue に設定します。

storage

STRING

パイプラインによって作成されたチェックポイントとテーブルを格納するための DBFS ディレクトリへのパス。

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

このフィールドが空の場合、システムはデフォルトの場所を使用します。

configuration

の地図 STRING:STRING

パイプラインを実行するクラスターの Spark 構成に追加するキーと値のペアのリスト。

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

要素は、キーと値のペアとして書式設定する必要があります。

clusters

パイプラインの配列新しいクラスター

クラスターがパイプラインを実行するための仕様の配列。

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

これが指定されていない場合、システムはパイプラインの既定のクラスター構成を選択します。

libraries

パイプラインライブラリの配列

パイプライン コードと、パイプラインの実行に必要な依存関係を含むノートブック。

target

STRING

パイプライン出力データを永続化するためのデータベース名。

詳細については、 Delta Live TablesからHive metastoreにデータを公開する」を参照してください。

continuous

BOOLEAN

これが継続的なパイプラインであるかどうか。

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

デフォルト値は falseです。

development

BOOLEAN

パイプラインを開発モードで実行するかどうか。

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

デフォルト値は falseです。

photon

BOOLEAN

このパイプライン Photon アクセラレーションが有効になっているかどうか。

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

デフォルト値は falseです。

channel

STRING

Delta Live Tables リリースチャンネルでは、このパイプラインに使用するランタイムバージョンが指定されています。 サポートされている値は次のとおりです。

  • preview をクリックして、 Delta Live Tables ランタイムに対する今後の変更でパイプラインをテストします。

  • current 現在の Delta Live Tables ランタイムバージョンを使用します。

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

デフォルト値は currentです。

edition

STRING

パイプラインを実行する Delta Live Tables 製品エディション:

  • CORE ストリーミング取り込みワークロードをサポートします。

  • PRO また、ストリーミング取り込みワークロードをサポートし、チェンジデータキャプチャ (CDC) 処理のサポートを追加します。

  • ADVANCED PRO エディションのすべての機能をサポートし、データ品質の制約を適用するために Delta Live Tables の期待を必要とするワークロードのサポートを追加します。

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

デフォルト値は advancedです。

パイプライン状態情報

パイプラインの状態、最新の更新の状態、および関連付けられているリソースに関する情報。

フィールド名

タイプ

説明

state

STRING

パイプラインの状態。 IDLE または RUNNINGのいずれか。

pipeline_id

STRING

パイプラインの一意の識別子。

cluster_id

STRING

パイプラインを実行しているクラスターの一意の識別子。

name

STRING

パイプラインのわかりやすい名前。

latest_updates

の配列 状態情報

パイプラインの最新の更新の状態 (最新の更新プログラムから順に並べられます)。

creator_user_name

STRING

パイプライン作成者のユーザー名。

run_as_user_name

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 を設定することをお勧めします。

更新状態情報

パイプライン更新の現在の状態。

フィールド名

タイプ

説明

update_id

STRING

この更新プログラムの一意の識別子。

state

STRING

更新プログラムの状態。 QUEUEDCREATEDWAITING_FOR_RESOURCESINITIALIZINGRESETTINGSETTING_UP_TABLESRUNNINGSTOPPINGCOMPLETEDFAILED、または CANCELEDのいずれか。

creation_time

STRING

この更新プログラムが作成されたときのタイムスタンプ。

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

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

フィールド名

タイプ

説明

destination

STRING

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