Delta Live Tables API ガイド

重要

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

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

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

データ構造

クラスタログコンフィグ

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

フィールド名

タイプ

説明

DbfsStorageInfo

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

DbfsStorageInfo (英語)

DBFS ストレージ情報。

フィールド名

タイプ

説明

destination

STRING

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

Google クラウドの属性

Google クラウドに関するクラスター作成時に設定される属性です。

フィールド名

タイプ

説明

use_preemptible_executors

BOOL

プリエンプティブル エグゼキューターを使用します。

google_service_account

STRING

Google サービス アカウント クラスターが Google Identity での認証に使用する電子メール アドレス。 このフィールドは、 GCSBigQuery のデータソースでの認証に使用されます。

boot_disk_size

INT32

各インスタンスに割り当てられたディスクのサイズ (GB 単位)。 この値は 100 から 4096 の間でなければなりません。

GCSSストレージ情報

Google Cloud Storage(GCS)のストレージ情報。

フィールド名

タイプ

説明

destination

STRING

ファイルの宛先。 例: gs://...

InitScriptInfo (英語)

initスクリプトへのパス。

フィールド名

タイプ

説明

workspace OR dbfs (非推奨)

又は gcs

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

DbfsStorageInfo (非推奨)

GCSSストレージ情報

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

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

Google Cloud Storage (GCS) の init スクリプトの場所。 宛先を指定する必要があります。 例えば { "gs": { "destination" : "gs://..." } }

キー値

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

フィールド名

タイプ

説明

key

STRING

構成プロパティ名。

value

STRING

構成プロパティの値。

ノートブックライブラリ

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

フィールド名

タイプ

説明

path

STRING

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

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

パイプラインAutoScale

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

フィールド名

タイプ

説明

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

gcp_attributes

Google クラウドの属性

Google クラウド上で動作するクラスターに関する属性です。 クラスターの作成時に指定しない場合は、一連のデフォルト値が使用されます。

node_type_id

STRING

このフィールドは、1 つの値を使用して、このクラスター内の各 Spark ノードで使用可能なリソースをエンコードします。 たとえば、Spark ノードは、メモリまたはコンピュートを集中的に使用するワークロード用にプロビジョニングおよび最適化できます 使用可能なノードの種類の一覧は、 クラスター API 呼び出しを使用して取得できます。

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

クラスターポリシー 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です。

PipelineStateInfo (パイプライン状態情報)

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

フィールド名

タイプ

説明

state

STRING

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

pipeline_id

STRING

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

cluster_id

STRING

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

name

STRING

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

latest_updates

の配列 状態情報

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

creator_user_name

STRING

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

run_as_user_name

STRING

パイプラインを実行するユーザー名。 これは、パイプライン所有者から派生した読み取り専用の値です。

UpdateStateInfo (更新状態情報)

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

フィールド名

タイプ

説明

update_id

STRING

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

state

STRING

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

creation_time

STRING

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

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

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

フィールド名

タイプ

説明

destination

STRING

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