Share via


Delta Live Tables API 指南

重要

本文的內容已淘汰,而且可能不會更新。 請參閱 Databricks REST API 參考中的 Delta 實時數據表

Delta Live Tables API 可讓您建立、編輯、刪除、啟動及檢視管線的詳細數據。

重要

若要存取 Databricks REST API,您必須驗證

建立管線

端點 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
}

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .netrc 檔案。

回應

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

要求結構

請參閱管線 設定

回應結構

欄位名稱 類型 描述
pipeline_id STRING 新建立之管線的唯一標識符。

編輯管線

端點 HTTP 方法
2.0/pipelines/{pipeline_id} PUT

更新 現有管線的設定。

範例

此範例會將 target 參數新增至標識元為 a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5的管線:

要求

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
}

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .netrc 檔案。

要求結構

請參閱管線 設定

刪除管線

端點 HTTP 方法
2.0/pipelines/{pipeline_id} DELETE

從 Delta Live Tables 系統刪除管線。

範例

這個範例會刪除識別碼為 的 a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5管線:

要求

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

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .netrc 檔案。

啟動管線更新

端點 HTTP 方法
2.0/pipelines/{pipeline_id}/updates POST

啟動管線的更新。 您可以啟動整個管線圖形的更新,或特定資料表的選擇性更新。

範例

開始完整重新整理

此範例會針對識別碼 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" }'

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .netrc 檔案。

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

開始更新選取的數據表

此範例會啟動更新,以sales_orders_cleaned識別碼a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5重新整理管線中的 和 sales_order_in_chicago 資料表:

要求
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"] }'

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .netrc 檔案。

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

開始完整更新選取的數據表

此範例會啟動 和 sales_order_in_chicago 數據表的sales_orders_cleaned更新,以及使用標識元 a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5為之管線中和 sales_orders_raw 數據表完整重新customers整理的更新。

要求
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"] }'

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .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_selection
full_refresh_selection 是空的,會重新整理整個管線圖形。

如果是下列情況,則會傳回錯誤:

* full_refesh 為 true 且
refresh_selection 已設定。
* 管線圖形中不存在一或多個指定的數據表。
full_refresh_selection 的陣列 STRING 要以完整重新整理更新的數據表清單。 使用 full_refresh_selection 來開始更新選取的一組數據表。 在 Delta Live Tables 系統啟動更新之前,會重設指定數據表的狀態。

這是選用欄位。 如果兩者皆為
refresh_selection
full_refresh_selection 是空的,會重新整理整個管線圖形。

如果是下列情況,則會傳回錯誤:

* full_refesh 為 true 且
refresh_selection 已設定。
* 管線圖形中不存在一或多個指定的數據表。
* 一或多個指定的數據表無法重設。

回應結構

欄位名稱 類型 描述
update_id STRING 新建立更新的唯一標識碼。
request_id STRING 啟動更新之要求的唯一標識碼。

取得管線更新要求的狀態

端點 HTTP 方法
2.0/pipelines/{pipeline_id}/requests/{request_id} GET

取得與 request_id相關聯之管線更新的狀態和資訊,其中 request_id 是起始管線更新之要求的唯一標識符。 如果重試或重新啟動更新,則新的更新會繼承request_id。

範例

針對標識碼為 a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5的管線,此範例會傳回與要求標識符 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

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .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 管線更新要求的狀態。 其中一個

* ACTIVE:此要求的更新正在主動執行,或在新的更新中重試。
* TERMINATED:要求已終止,且不會重試或重新啟動。
pipeline_id STRING 管線的唯一標識碼。
update_id STRING 更新的唯一標識碼。
config 管線 設定 管線設定。
cause STRING 更新的觸發程式。 的其中 API_CALL一個 ,
RETRY_ON_FAILURE、 、 SERVICE_UPGRADESCHEMA_CHANGE
JOB_TASKUSER_ACTION
state STRING 更新的狀態。 的其中 QUEUED一個 , CREATED
WAITING_FOR_RESOURCES、 、 INITIALIZINGRESETTING
SETTING_UP_TABLES、、 RUNNINGSTOPPINGCOMPLETED
FAILEDCANCELED
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 會重新整理所有數據表。

範例

此範例會停止識別碼 a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5為 的管線更新:

要求

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

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .netrc 檔案。

列出管線事件

端點 HTTP 方法
2.0/pipelines/{pipeline_id}/events GET

擷取管線的事件。

範例

此範例會針對標識碼 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

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .netrc 檔案。

要求結構

欄位名稱 類型 描述
page_token STRING 先前呼叫所傳回的頁面令牌。 此欄位與此要求中的所有字段互斥,但max_results除外。 如果設定此欄位時設定max_results以外的任何欄位,則會傳回錯誤。

這是選用欄位。
max_results INT32 在單一頁面中傳回的項目數上限。 即使有更多可用的事件,系統仍可能會傳回回應中的事件少於 max_results 事件。

這是選用欄位。

預設值為 25。

最大值為 100。 如果的值為 ,則會傳回錯誤
max_results 大於 100。
order_by STRING 字串,以時間戳表示結果的排序順序,例如 ["timestamp asc"]

排序順序可以是遞增或遞減。 根據預設,事件會依時間戳以遞減順序傳回。

這是選用欄位。
filter STRING 選取結果子集的準則,使用類似 SQL 的語法表示。 支援的篩選條件如下:

* level='INFO' (或 或 WARNERROR
* 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

取得管線的詳細數據,包括管線設定和最近的更新。

範例

此範例會取得識別碼為 a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5的管線詳細資料:

要求

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

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .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,則至少有一個作用中更新。
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

取得管線更新的詳細數據。

範例

此範例會取得識別碼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

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .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_CALL一個 ,
RETRY_ON_FAILURESERVICE_UPGRADE
state STRING 更新的狀態。 的其中 QUEUED一個 , CREATED
WAITING_FOR_RESOURCES、 、 INITIALIZINGRESETTING
SETTING_UP_TABLES、、 RUNNINGSTOPPINGCOMPLETED
FAILEDCANCELED
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

將:

  • <databricks-instance> 使用 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net

此範例使用 .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 在單一頁面中傳回的項目數上限。 即使有更多可用的事件,系統仍可能會傳回回應中的事件少於 max_results 事件。

這是選用欄位。

預設值為 25。

最大值為 100。 如果的值為 ,則會傳回錯誤
max_results 大於 100。
order_by 的陣列 STRING 指定結果順序的字串清單,例如
["name asc"]. 支援的 order_by 欄位為 id
name. 預設值為 id asc

這是選用欄位。
filter STRING 根據指定的準則選取結果子集。

支援的篩選條件如下:

"notebook='<path>'" 表示選取參考所提供筆記本路徑的管線。

name LIKE '[pattern]' 表示選取名稱相符的 pattern管線。 支援通配符,例如:
name LIKE '%shopping%'

不支持復合篩選。

這是選用欄位。

回應結構

欄位名稱 類型 描述
statuses PipelineStateInfo 的 陣列 符合要求準則的事件清單。
next_page_token STRING 如果存在,則為擷取下一頁事件的令牌。
prev_page_token STRING 如果存在,則為擷取上一頁事件的令牌。

資料結構

本節內容:

ABFSS 儲存體 Info

Azure Data Lake 儲存體 (ADLS) 記憶體資訊。

欄位名稱 類型 描述
destination STRING 檔案目的地。 範例: abfss://...

ClusterLogConf

叢集記錄檔的路徑。

欄位名稱 類型 描述
dbfs Dbfs 儲存體 Info 叢集記錄的 DBFS 位置。 必須提供目的地。 例如,
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

Dbfs 儲存體 Info

DBFS 記憶體資訊。

欄位名稱 類型 描述
destination STRING DBFS 目的地。 範例: dbfs:/my/path

File 儲存體 Info

檔案記憶體資訊。

注意

此位置類型僅適用於使用 Databricks Container Services 設定的叢集。

欄位名稱 類型 描述
destination STRING 檔案目的地。 範例: file:/my/file.sh

InitScriptInfo

init 腳本的路徑。

如需搭配 Databricks Container Services 使用 init 腳本的指示,請參閱 使用 init 腳本

注意

檔案儲存類型 (功能變數名稱: file) 僅適用於使用 Databricks Container Services 設定的叢集。 請參閱 File 儲存體 Info

欄位名稱 類型 描述
workspace
dbfs (已淘汰)

OR
abfss
Workspace 儲存體 Info

Dbfs 儲存體 Info (已淘汰)

ABFSS 儲存體 Info
init 腳本的工作區位置。 必須提供目的地。 例如,
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(已淘汰)init 腳本的 DBFS 位置。 必須提供目的地。 例如,
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

init 腳本的 Azure Data Lake 儲存體 (ADLS) 位置。 必須提供目的地。 例如,{ "abfss": { "destination" : "abfss://..." } }

KeyValue

指定組態參數的索引鍵/值組。

欄位名稱 類型 描述
key STRING 組態屬性名稱。
value STRING 組態屬性值。

NotebookLibrary

包含管線程式代碼的筆記本規格。

欄位名稱 類型 描述
path STRING 筆記本的絕對路徑。

這是必要欄位。

PipelinesAutoScale

定義自動調整叢集的屬性。

欄位名稱 類型 描述
min_workers INT32 叢集在使用量過低時可相應減少的最小背景工作角色數目。 這也是叢集在建立之後將擁有的初始背景工作角色數目。
max_workers INT32 叢集在多載時可以相應增加的背景工作角色數目上限。 max_workers必須嚴格大於 min_workers。
mode STRING 叢集的自動調整模式:

* ENHANCED 表示使用 增強型自動調整
* LEGACY 表示使用 叢集自動調整功能

PipelineLibrary

管線相依性的規格。

欄位名稱 類型 描述
notebook NotebookLibrary 定義 Delta Live Tables 數據集的筆記本路徑。 路徑必須位於 Databricks 工作區中,例如:
{ "notebook" : { "path" : "/my-pipeline-notebook-path" } }.

PipelinesNewCluster

管線叢集規格。

Delta Live Tables 系統會設定下列屬性。 使用者無法設定這些屬性:

  • spark_version
欄位名稱 類型 描述
label STRING 叢集規格的標籤,
default 設定預設叢集,或
maintenance 設定維護叢集。

這是選用欄位。 預設值是 default
spark_conf KeyValue 物件,包含一組選擇性、使用者指定的Spark組態索引鍵/值組。 您也可以透過 將額外的 JVM 選項字串傳入驅動程式和執行程式
分別是 spark.driver.extraJavaOptionsspark.executor.extraJavaOptions

範例 Spark 會提供:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5}
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING 此欄位透過單一值,將對此叢集中每個 Spark 節點可使用的資源編碼。 例如,Spark 節點可以針對記憶體或計算密集型工作負載布建和優化。您可以使用叢集 API 呼叫來擷取可用節點類型清單。
driver_node_type_id STRING Spark 驅動程式的節點類型。 此欄位是選擇性的;如果未設定,驅動程式節點類型將會設定為與上面定義的相同值 node_type_id
ssh_public_keys 的陣列 STRING 將新增至此叢集中每個 Spark 節點的 SSH 公鑰內容。 對應的私鑰可用來使用埠 2200上的使用者名稱ubuntu登入。 最多可以指定10個索引鍵。
custom_tags KeyValue 物件,包含叢集資源的一組標記。 除了default_tags之外,Databricks 也會標記所有具有這些標籤的叢集資源。

注意

* 舊版節點類型不支援標記,例如計算優化和記憶體優化
* Azure Databricks 最多允許 45 個自定義標籤。
cluster_log_conf ClusterLogConf 將 Spark 記錄傳遞至長期記憶體目的地的設定。 一個叢集只能指定一個目的地。 如果提供此組態,每個記錄都會傳遞至目的地
5 mins. 驅動程式記錄的目的地為 <destination>/<cluster-ID>/driver,而執行程式記錄的目的地為 <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 叢集所屬實例集區的選擇性標識符。 請參閱 集區組態參考
driver_instance_pool_id STRING 要用於驅動程序節點之實例集區的選擇性識別碼。 您也必須指定
instance_pool_id. 請參閱 實例集區 API
policy_id STRING 集原則 標識碼。
num_workers OR autoscale INT32 OR InitScriptInfo 如果num_workers,此叢集應該擁有的背景工作節點數目。 叢集有一個 Spark 驅動程式和num_workers執行程式,總共num_workers + 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 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

管線的狀態、最新更新的狀態,以及相關聯資源的相關信息。

欄位名稱 類型 描述
state STRING 管線的狀態。 其中 IDLE 一個 或 RUNNING
pipeline_id STRING 管線的唯一標識碼。
cluster_id STRING 執行管線之叢集的唯一標識符。
name STRING 管線的用戶易記名稱。
latest_updates UpdateStateInfo 的 陣列 管線的最新更新狀態,會先使用最新的更新來排序。
creator_user_name STRING 管線建立者的用戶名稱。
run_as_user_name STRING 管線執行身分的用戶名稱。 這是衍生自管線擁有者的唯讀值。

UpdateStateInfo

管線更新的目前狀態。

欄位名稱 類型 描述
update_id STRING 此更新的唯一標識碼。
state STRING 更新的狀態。 的QUEUED其中一個、 CREATED
WAITING_FOR_RESOURCES、 、 INITIALIZINGRESETTING
SETTING_UP_TABLES、、 RUNNINGSTOPPINGCOMPLETED
FAILEDCANCELED
creation_time STRING 建立此更新時的時間戳。

Workspace 儲存體 Info

工作區記憶體資訊。

欄位名稱 類型 描述
destination STRING 檔案目的地。 範例: /Users/someone@domain.com/init_script.sh