Delta Live Tables API ガイド

重要

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

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

重要

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

パイプラインを作成する

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

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

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

Request

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

Response

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

要求の構造

PipelineSettings」を参照してください。

応答の構造

フィールド名 Type 説明
pipeline_id STRING 新しく作成されたパイプラインの一意の識別子。

パイプラインを編集する

エンドポイント HTTP メソッド
2.0/pipelines/{pipeline_id} PUT

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

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

Request

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

要求の構造

PipelineSettings」を参照してください。

パイプラインを削除する

エンドポイント HTTP メソッド
2.0/pipelines/{pipeline_id} DELETE

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

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

Request

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 をもつパイプラインについて、完全な表示の更新を伴う更新を開始します。

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

置換前のコード:

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

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

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

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

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

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

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

この例では、ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 を持つパイプラインの sales_orders_cleanedsales_order_in_chicago テーブルの更新と、customerssales_orders_raw テーブルの完全更新を使用した更新を開始します。

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

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

要求の構造

フィールド名 Type 説明
full_refresh BOOLEAN すべてのデータを再処理するかどうかを指定します。 true の場合、Delta Live Tables システムでは、パイプラインを実行する前に、リセット可能なすべてのテーブルのリセットが行われます。

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

既定値は false です。

full_refesh が true の場合で refresh_selection または full_refresh_selection のいずれかが設定されている場合はエラーが返されます。
refresh_selection STRING の配列です。 更新するテーブルの一覧。 用途
refresh_selection を使用してパイプライン グラフで選択した一連のテーブルの更新を開始します。

このフィールドは省略可能です。 両方が
refresh_selection、および
full_refresh_selection の両方が空の場合、パイプライン グラフ全体が更新されます。

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

* full_refesh が true で
refresh_selection が設定されている。
* 指定したテーブルの 1 つ以上がパイプライン グラフに存在しない。
full_refresh_selection STRING の配列です。 完全更新で更新するテーブルの一覧。 選択した一連のテーブルの更新を開始するには full_refresh_selection を使用します。 Delta Live Tables システムが更新を開始する前に、指定されたテーブルの状態がリセットされます。

このフィールドは省略可能です。 両方が
refresh_selection、および
full_refresh_selection の両方が空の場合、パイプライン グラフ全体が更新されます。

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

* full_refesh が true で
refresh_selection が設定されている。
* 指定したテーブルの 1 つ以上がパイプライン グラフに存在しない。
* 指定したテーブルの 1 つ以上がリセットできない。

応答の構造

フィールド名 Type 説明
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 に関連付けられている更新プログラムの状態と情報を返します。

Request

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

置換前のコード:

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

Response

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

応答の構造

フィールド名 Type 説明
status STRING パイプライン更新プログラムの要求の状態。 次のいずれかです。

* ACTIVE: この要求の更新がアクティブに実行されているか、新しい更新プログラムで再試行される可能性があります。
* TERMINATED: 要求は終了され、再試行または再起動されません。
pipeline_id STRING パイプラインの一意の識別子。
update_id STRING 更新プログラムの一意の識別子。
config PipelineSettings パイプラインの設定。
cause STRING 更新のトリガー。 API_CALL
RETRY_ON_FAILURESERVICE_UPGRADESCHEMA_CHANGE
JOB_TASK、または USER_ACTION
state STRING 更新の状態。 次のいずれか。QUEUEDCREATED
WAITING_FOR_RESOURCESINITIALIZINGRESETTING
SETTING_UP_TABLESRUNNINGSTOPPINGCOMPLETED
FAILED、または 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 をもつパイプラインの更新を停止します。

Request

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 つのイベントを取得します。

Request

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

置換前のコード:

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

要求の構造

フィールド名 Type 説明
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'

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

応答構造

フィールド名 Type 説明
events パイプライン イベントの配列。 要求条件に一致するイベントの一覧。
next_page_token STRING 存在する場合は、イベントの次のページをフェッチするトークン。
prev_page_token STRING 存在する場合は、イベントの前のページをフェッチするトークン。

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

エンドポイント HTTP メソッド
2.0/pipelines/{pipeline_id} GET

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

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

Request

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

置換前のコード:

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

Response

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

応答の構造

フィールド名 Type 説明
pipeline_id STRING パイプラインの一意の識別子。
spec PipelineSettings パイプラインの設定。
state STRING パイプラインの状態。 IDLERUNNING のいずれか。

State = RUNNING の場合、アクティブな更新が少なくとも 1 つあります。
cluster_id STRING パイプラインを実行しているクラスターの識別子。
name STRING このパイプラインのユーザー フレンドリ名。
creator_user_name STRING パイプラインの作成者のユーザー名。
latest_updates UpdateStateInfo の配列 パイプラインの更新の最新の状態。最新の更新が最初になるよう並べ替えられます。
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 の詳細を取得します。

Request

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

置換前のコード:

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

Response

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

応答の構造

フィールド名 Type 説明
pipeline_id STRING パイプラインの一意の識別子。
update_id STRING この更新の一意の識別子。
config PipelineSettings パイプラインの設定。
cause STRING 更新のトリガー。 API_CALL
RETRY_ON_FAILURESERVICE_UPGRADE
state STRING 更新の状態。 次のいずれか。QUEUEDCREATED
WAITING_FOR_RESOURCESINITIALIZINGRESETTING
SETTING_UP_TABLESRUNNINGSTOPPINGCOMPLETED
FAILED、または CANCELED
cluster_id STRING パイプラインを実行しているクラスターの識別子。
creation_time INT64 更新が作成されたときのタイムスタンプ。
full_refresh BOOLEAN これが完全更新だったかどうか。 True の場合、更新を実行する前にすべてのパイプライン テーブルがリセットされました。

パイプラインを一覧表示する

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

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

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

Request

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

置換前のコード:

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

Response

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

要求の構造

フィールド名 Type 説明
page_token STRING 前の呼び出しによって返されたページ トークン。

このフィールドは省略可能です。
max_results INT32 1 つのページに返されるエントリの最大数。 使用可能なイベントがより多い場合でも、システムでは応答内の max_results イベントよりも少ないイベントを返す可能性があります。

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

既定値は 25 です。

最大値は 100 です。 次の場合、エラーが返されます。
max_results が 100 より大きい。
order_by STRING の配列です。 結果の順序を指定する文字列のリスト。例:
["name asc"] サポートされているフィールドは order_byid
name 既定では、 id ascです。

このフィールドは省略可能です。
filter STRING 指定した条件に基づいて、結果のサブセットを選択します。

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

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

name LIKE '[pattern]' とすると、pattern と一致する名前を持つパイプラインを選択します。 ワイルドカードがサポートされています。次に例を示します。
name LIKE '%shopping%'

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

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

応答構造

フィールド名 Type 説明
statuses PipelineStateInfo の配列 要求条件に一致するイベントの一覧。
next_page_token STRING 存在する場合は、イベントの次のページをフェッチするトークン。
prev_page_token STRING 存在する場合は、イベントの前のページをフェッチするトークン。

データ構造

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

ABFSSStorageInfo

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

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

ClusterLogConf

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

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

DbfsStorageInfo

DBFS ストレージ情報。

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

FileStorageInfo

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

注意

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

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

InitScriptInfo

init スクリプトへのパス。

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

注意

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

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

OR
abfss
WorkspaceStorageInfo

DbfsStorageInfo (非推奨)

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

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

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

KeyValue

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

フィールド名 Type 説明
key STRING 構成プロパティの名前。
value STRING 構成プロパティの値。

NotebookLibrary

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

フィールド名 Type 説明
path STRING ノートブックへの絶対パス。

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

PipelinesAutoScale

自動スケーリング クラスターを定義する属性。

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

* ENHANCED拡張自動スケーリングを使用します。
* LEGACYクラスターの自動スケーリング機能を使用します。

PipelineLibrary

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

フィールド名 Type 説明
notebook NotebookLibrary Delta Live Tables データセットを定義するノートブックへのパス。 パスは Databricks ワークスペースにある必要があります。次に例を示します。
{ "notebook" : { "path" : "/my-pipeline-notebook-path" } }

PipelinesNewCluster

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

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

  • spark_version
フィールド名 Type 説明
label STRING クラスター仕様のラベル。次のいずれかです。
既定のクラスターを構成する場合は default、または
メンテナンス クラスターを構成する場合は maintenance

このフィールドは省略可能です。 既定値は default です。
spark_conf KeyValue 省略可能なユーザー指定の Spark 構成キーと値のペアのセットを含んでいるオブジェクト。 追加の JVM オプションの文字列をドライバーと Executor に
それぞれ spark.driver.extraJavaOptionsspark.executor.extraJavaOptions

Spark conf の例:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} または
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING このフィールドは、単一の値を通じて使用されるリソースをこのクラスターのそれぞれの Spark ノードにエンコードします。 たとえば、Spark ノードは、メモリまたはコンピューティング集約型のワークロード用にプロビジョニングと最適化を行うことができます。使用できるノードの種類のリストは、Clusters API 呼び出しを使って取得できます。
driver_node_type_id STRING Spark ドライバーのノードの種類。 このフィールドは省略可能です。設定が解除されている場合、ドライバー ノードの種類は、上で定義した node_type_id と同じ値として設定されます。
ssh_public_keys STRING の配列です。 このクラスター内の各 Spark ノードに追加される SSH 公開キーの内容。 ポート 2200 でユーザー名 ubuntu を使用し、対応する秘密キーを使用してログインできます。 最大 10 個のキーを指定できます。
custom_tags KeyValue クラスター リソースのタグのセットを含むオブジェクト。 Databricks では、default_tags の他に、これらのタグですべてのリソースにタグを設定します。

メモ:

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

SPARK_DAEMON_JAVA_OPTS のセットを追加で指定するには、Databricks では、次の例に示すように、$SPARK_DAEMON_JAVA_OPTS に追加することをお勧めします。 これにより、すべての既定の Azure 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_idInstance Pools API」を参照してください。
policy_id STRING クラスター ポリシー の ID。
num_workers OR autoscale INT32 または InitScriptInfo num_workers の場合は、このクラスターに必要なワーカー ノードの数。 1 つのクラスターには 1 つの Spark ドライバーと num_workers Executor があり、全体では num_workers + 1 Spark ノードになります。

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

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

このフィールドは省略可能です。
apply_policy_default_values BOOLEAN 不足しているクラスター属性にポリシーの既定の値を使用するかどうか。

PipelineSettings

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

フィールド名 Type 説明
id STRING このパイプラインの一意の識別子。

この識別子は Delta Live Tables system システムによって作成され、パイプラインの作成時には指定できません。
name STRING このパイプラインのユーザー フレンドリ名。

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

既定では、パイプライン名は一意である必要があります。 重複する名前を使用するには、パイプライン構成で allow_duplicate_namestrue に設定します。
storage STRING パイプラインによって作成されたチェックポイントとテーブルを格納するための DBFS ディレクトリへのパス。

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

このフィールドが空の場合、システムは既定の場所を使用します。
configuration STRING:STRING のマップ パイプラインを実行するクラスターの Spark 構成に追加するキーと値のペアの一覧。

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

要素は、キーと値のペアの形式である必要があります。
clusters PipelinesNewCluster の配列 パイプラインを実行するクラスターの指定の配列。

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

指定されていない場合、システムは、パイプラインの既定のクラスター構成を選択します。
libraries PipelineLibrary の配列 パイプライン コードと、パイプラインの実行に必要な依存関係を含むノートブック。
target STRING パイプラインの出力データを保持するためのデータベース名。

詳細については、Delta Live Tables から Hive メタストアへのデータの発行に関する記事を参照してください。
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

パイプラインの状態、最新の更新プログラムの状態、関連付けられたリソースに関する情報。

フィールド名 Type 説明
state STRING パイプラインの状態。 IDLERUNNING のいずれか。
pipeline_id STRING パイプラインの一意の識別子。
cluster_id STRING パイプラインを実行しているクラスターの一意の識別子。
name STRING パイプラインのユーザー フレンドリ名。
latest_updates UpdateStateInfo の配列 パイプラインの更新の最新の状態。最新の更新が最初になるよう並べ替えられます。
creator_user_name STRING パイプラインの作成者のユーザー名。
run_as_user_name STRING パイプラインを実行するユーザー名。 これは、パイプラインの所有者から派生した読み取り専用の値です。

UpdateStateInfo

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

フィールド名 Type 説明
update_id STRING この要求の一意の識別子。
state STRING 更新の状態。 次のいずれかです。QUEUEDCREATED
WAITING_FOR_RESOURCESINITIALIZINGRESETTING
SETTING_UP_TABLESRUNNINGSTOPPINGCOMPLETED
FAILED、または CANCELED
creation_time STRING 更新が作成されたときのタイムスタンプ。

WorkspaceStorageInfo

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

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