Delta Live Tables API指南
Delta Live Tables API允許您創建、編輯、刪除、啟動和查看有關管道的詳細信息。
重要的
要訪問Databricks的REST api,您必須進行身份驗證.
創建一個管道
端點 |
HTTP方法 |
---|---|
|
|
創建一個新的Delta Live Tables管道。
例子
這個例子創建了一個新的觸發管道。
請求
curl——netrc——請求POST\https:// < databricks-instance > / api / 2.0 /管道\——數據@pipeline-settings.json
pipeline-settings.json
:
{“名稱”:“維基百科”管道(SQL),“存儲”:“/用戶/用戶名/數據”,“集群”:[{“標簽”:“默認”,“自動定量”:{“min_workers”:1,“max_workers”:5}}),“庫”:[{“筆記本”:{“路徑”:/Users/username/DLT notebook /Delta Live Tables快速入門(SQL)}}),“連續”:假}
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com
.
此示例使用. netrc文件。
編輯一個管道
端點 |
HTTP方法 |
---|---|
|
|
更新現有管道的設置。
例子
此示例添加了一個目標
參數連接到帶有ID的管道a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
請求
curl——netrc——請求PUT\https:// < databricks-instance > / api / 2.0 /管道/ a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5\>——數據@pipeline-settings.json
pipeline-settings.json
{“id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“名稱”:“維基百科”管道(SQL),“存儲”:“/用戶/用戶名/數據”,“集群”:[{“標簽”:“默認”,“自動定量”:{“min_workers”:1,“max_workers”:5}}),“庫”:[{“筆記本”:{“路徑”:/Users/username/DLT notebook /Delta Live Tables快速入門(SQL)}}),“目標”:“wikipedia_quickstart_data”,“連續”:假}
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com
.
此示例使用. netrc文件。
啟動管道更新
端點 |
HTTP方法 |
---|---|
|
|
啟動管道的更新。您可以開始對整個管道圖進行更新,或者對特定表進行選擇性更新。
例子
開始全麵刷新
這個例子對具有ID的管道以完全刷新的方式啟動更新a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
啟動所選表的更新
此示例啟動更新,刷新sales_orders_cleaned
而且sales_order_in_chicago
表在管道中的IDa12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
啟動所選表的完整更新
的更新sales_orders_cleaned
而且sales_order_in_chicago
表,並與完整刷新的更新beplay体育app下载地址
而且sales_orders_raw
表在管道中的IDa12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
.
請求
curl——netrc——請求POST\https:// < databricks-instance > / api / 2.0 /管道/ a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 /更新\——數據“{"refresh_selection": ["sales_orders_cleaned", "sales_order_in_chicago"], "full_refresh_selection": ["cbeplay体育app下载地址ustomers", "sales_orders_raw"]}”
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com
.
此示例使用. netrc文件。
請求結構
字段名 |
類型 |
描述 |
---|---|---|
full_refresh |
|
是否重新處理所有數據。如果 該字段是可選的。 默認值為 返回一個錯誤 |
refresh_selection |
一個數組的 |
要更新的表的列表。使用 該字段是可選的。如果兩個 如果有以下情況返回錯誤:
|
full_refresh_selection |
一個數組的 |
要用完全刷新更新的表列表。使用 該字段是可選的。如果兩個 如果有以下情況返回錯誤:
|
停止任何活動的管道更新
端點 |
HTTP方法 |
---|---|
|
|
停止任何活動的管道更新。如果沒有運行更新,則此請求為空操作。
對於連續的管道,管道執行將被暫停。當前正在處理的表完成刷新,但下遊表不刷新。在下一次管道更新中,Delta Live Tables對沒有完成處理的表執行選定的刷新,並恢複剩餘管道DAG的處理。
對於已觸發的管道,管道執行將被停止。當前正在處理的表完成刷新,但下遊表不刷新。在下一次管道更新時,Delta Live Tables將刷新所有表。
管道事件列表
端點 |
HTTP方法 |
---|---|
|
|
為管道檢索事件。
請求結構
字段名 |
類型 |
描述 |
---|---|---|
page_token |
|
上一個調用返回的頁令牌。該字段與該請求中除max_results外的所有字段互斥。如果在設置該字段時設置了除max_results之外的其他字段,則返回錯誤。 該字段是可選的。 |
max_results |
|
單個頁麵中要返回的最大條目數。係統可能返回小於 該字段是可選的。 缺省值為25。 最大值為100。的值將返回一個錯誤 |
order_by |
|
一個根據時間戳指示結果排序順序的字符串,例如, 排序順序可以是升序或降序。默認情況下,事件按時間戳降序返回。 該字段是可選的。 |
過濾器 |
|
標準來選擇結果的子集,使用類似sql的語法表示。支持的過濾器有:
支持複合表達式,例如: 該字段是可選的。 |
得到管道的細節
端點 |
HTTP方法 |
---|---|
|
|
獲取有關管道的詳細信息,包括管道設置和最近更新。
例子
這個示例獲取帶有ID的管道的詳細信息a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
請求
curl -n -X GET\https:// < databricks-instance > / api / 2.0 /管道/ a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com
.
此示例使用. netrc文件。
響應
{“pipeline_id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“規範”:{“id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“名稱”:“維基百科”管道(SQL),“存儲”:“/用戶/用戶名/數據”,“集群”:[{“標簽”:“默認”,“自動定量”:{“min_workers”:1,“max_workers”:5}}),“庫”:[{“筆記本”:{“路徑”:/Users/username/DLT notebook /Delta Live Tables快速入門(SQL)}}),“目標”:“wikipedia_quickstart_data”,“連續”:假},“狀態”:“空閑”,“cluster_id”:“1234 - 567891 abcde123”,“名稱”:“維基百科”管道(SQL),“creator_user_name”:“用戶名”,“latest_updates”:[{“update_id”:“8 a0b6d02 - fbd0 - 11 - eb - 9 - a03 - 0242 ac130003”,“狀態”:“完成”,“creation_time”:“2021 - 08 - 13 - t00:37:30.279z”},{“update_id”:“a72c08ba——fbd0 - 11 - eb - 9 - a03 - 0242 ac130003”,“狀態”:“取消”,“creation_time”:“2021 - 08 - 13 - t00:35:51.902z”},{“update_id”:“ac37d924——fbd0 - 11 - eb - 9 - a03 - 0242 ac130003”,“狀態”:“失敗”,“creation_time”:“2021 - 08 - 13 - t00:33:38.565z”}),“run_as_user_name”:“用戶名”}
響應結構
字段名 |
類型 |
描述 |
---|---|---|
pipeline_id |
|
管道的唯一標識符。 |
規範 |
管道設置。 |
|
狀態 |
|
管道的狀態。之一 如果狀態= |
cluster_id |
|
運行管道的集群的標識符。 |
的名字 |
|
此管道的用戶友好的名稱。 |
creator_user_name |
|
管道創建者的用戶名。 |
latest_updates |
一個數組的UpdateStateInfo |
管道的最新更新狀態,以最新更新優先排序。 |
run_as_user_name |
|
管道作為用戶名運行。 |
獲得更新的細節
端點 |
HTTP方法 |
---|---|
|
|
獲取管道更新的詳細信息。
例子
此示例獲取更新的詳細信息9 a84f906 - fc51 - 11 - eb - 9 - a03 - 0242 ac130003
對於帶有ID的管道a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
請求
curl -n -X GET\https:// < databricks-instance > / api / 2.0 /管道/ a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 /更新/ 9 a84f906 - fc51 - 11 - eb - 9 - a03 - 0242 ac130003
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com
.
此示例使用. netrc文件。
響應
{“更新”:{“pipeline_id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“update_id”:“9 a84f906 - fc51 - 11 - eb - 9 - a03 - 0242 ac130003”,“配置”:{“id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“名稱”:“維基百科”管道(SQL),“存儲”:“/用戶/用戶名/數據”,“配置”:{“pipelines.numStreamRetryAttempts”:“5”},“集群”:[{“標簽”:“默認”,“自動定量”:{“min_workers”:1,“max_workers”:5}}),“庫”:[{“筆記本”:{“路徑”:/Users/username/DLT notebook /Delta Live Tables快速入門(SQL)}}),“目標”:“wikipedia_quickstart_data”,“過濾器”:{},“email_notifications”:{},“連續”:假,“發展”:假},“原因”:“API_CALL”,“狀態”:“完成”,“creation_time”:1628815050279,“full_refresh”:真正的}}
響應結構
字段名 |
類型 |
描述 |
---|---|---|
pipeline_id |
|
管道的唯一標識符。 |
update_id |
|
此更新的唯一標識符。 |
配置 |
管道設置。 |
|
導致 |
|
更新的觸發器。之一 |
狀態 |
|
更新的狀態。之一 |
cluster_id |
|
運行管道的集群的標識符。 |
creation_time |
|
創建更新時的時間戳。 |
full_refresh |
|
這是不是一次全麵的刷新。如果為true,則在運行更新之前重置所有管道表。 |
列表管道
端點 |
HTTP方法 |
---|---|
|
|
列出在Delta Live Tables係統中定義的管道。
例子
此示例檢索最多兩個管道的詳細信息,從指定的管道開始page_token
:
請求
curl -n -X GET https:///api/2.0/ pipes\——數據{“page_token”:“eyJ…==", "max_results": 2}'
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com
.
此示例使用. netrc文件。
響應
{“狀態”:[{“pipeline_id”:“e0f01758——fc61 - 11 - eb - 9 - a03 - 0242 ac130003”,“狀態”:“空閑”,“名稱”:“dlt-pipeline-python”,“latest_updates”:[{“update_id”:“ee9ae73e——fc61 - 11 - eb - 9 - a03 - 0242 ac130003”,“狀態”:“完成”,“creation_time”:“2021 - 08 - 13 - t00:34:21.871z”}),“creator_user_name”:“用戶名”},{“pipeline_id”:“f4c82f5e——fc61 - 11 - eb - 9 - a03 - 0242 ac130003”,“狀態”:“空閑”,“名稱”:“dlt-pipeline-python”,“creator_user_name”:“用戶名”}),“next_page_token”:“eyJ…= =”,“prev_page_token”:“eyJ . . x9”}
請求結構
字段名 |
類型 |
描述 |
---|---|---|
page_token |
|
上一個調用返回的頁令牌。 該字段是可選的。 |
max_results |
|
單個頁麵中要返回的最大條目數。係統可能返回小於 該字段是可選的。 缺省值為25。 最大值為100。的值將返回一個錯誤 |
order_by |
一個數組的 |
指定結果順序的字符串列表,例如, 該字段是可選的。 |
過濾器 |
|
根據指定的標準選擇結果的子集。 支持的過濾器有:
不支持複合過濾器。 該字段是可選的。 |
響應結構
字段名 |
類型 |
描述 |
---|---|---|
狀態 |
一個數組的PipelineStateInfo |
匹配請求條件的事件列表。 |
next_page_token |
|
如果存在,則取下一頁事件的令牌。 |
prev_page_token |
|
如果存在,則使用令牌獲取前頁的事件。 |
數據結構
在本節中:
PipelineLibrary
管道依賴性的規範。
字段名 |
類型 |
描述 |
---|---|---|
筆記本 |
到定義Delta Live Tables數據集的筆記本的路徑。該路徑必須在Databricks工作區中,例如: |
PipelineSettings
管道部署的設置。
字段名 |
類型 |
描述 |
---|---|---|
id |
|
此管道的唯一標識符。 該標識符是由Delta Live Tables係統創建的,在創建管道時不能提供。 |
的名字 |
|
此管道的用戶友好的名稱。 該字段是可選的。 缺省情況下,管道名稱必須唯一。若要使用重複的名稱,請設置 |
存儲 |
|
DBFS目錄的路徑,用於存儲由管道創建的檢查點和表。 該字段是可選的。 如果該字段為空,則係統使用默認位置。 |
配置 |
的地圖 |
要添加到將運行管道的集群的Spark配置中的鍵-值對列表。 該字段是可選的。 元素必須格式化為鍵:值對。 |
集群 |
一個數組的PipelinesNewCluster |
用於運行管道的集群的規範數組。 該字段是可選的。 如果不指定,係統將為管道選擇默認的集群配置。 |
庫 |
一個數組的PipelineLibrary |
包含管道代碼和運行管道所需的任何依賴項的筆記本。 |
目標 |
|
用於持久化管道輸出數據的數據庫名稱。 看到從Delta Live Tables管道發布數據為更多的信息。 |
連續 |
|
這是否是一個連續的管道。 該字段是可選的。 默認值為 |
發展 |
|
是否在開發模式下運行管道。 該字段是可選的。 默認值為 |
光子 |
|
是否為該管道啟用光子加速。 該字段是可選的。 默認值為 |
通道 |
|
Delta Live Tables發布通道,指定用於此管道的運行時版本。支持的值是:
該字段是可選的。 默認值為 |
版 |
|
Delta Live Tables產品版本運行管道:
該字段是可選的。 默認值為 |
PipelineStateInfo
管道的狀態、最新更新的狀態以及有關關聯資源的信息。
字段名 |
類型 |
描述 |
---|---|---|
狀態 |
|
管道的狀態。之一 |
pipeline_id |
|
管道的唯一標識符。 |
cluster_id |
|
運行管道的集群的唯一標識符。 |
的名字 |
|
管道的用戶友好的名稱。 |
latest_updates |
一個數組的UpdateStateInfo |
管道的最新更新狀態,以最新更新優先排序。 |
creator_user_name |
|
管道創建者的用戶名。 |
run_as_user_name |
|
管道作為用戶名運行。這是從管道所有者派生的隻讀值。 |
PipelinesNewCluster
管道集群規範。
Delta Live Tables係統設置以下屬性。這些屬性不能由用戶配置:
spark_version
init_scripts
字段名 |
類型 |
描述 |
---|---|---|
標簽 |
|
也可以是集群規範的標簽 該字段是可選的。默認值為 |
spark_conf |
一個對象,包含一組可選的、用戶指定的Spark配置鍵-值對。您還可以通過將一串額外的JVM選項傳遞給驅動程序和執行程序 火花參看示例: |
|
aws_attributes |
與在Amazon Web Services上運行的集群相關的屬性。如果在創建集群時未指定,則將使用一組默認值。 |
|
node_type_id |
|
該字段通過一個值編碼該集群中每個Spark節點可用的資源。例如,可以針對內存或計算密集型工作負載提供和優化Spark節點節點類型列表API調用。 |
driver_node_type_id |
|
Spark驅動的節點類型。該字段是可選的;如果未設置,則驅動程序節點類型將設置為與 |
ssh_public_keys |
一個數組的 |
SSH公鑰內容,將添加到該集群中的每個Spark節點。可以使用相應的私鑰以用戶名登錄 |
custom_tags |
一個對象,包含一組用於集群資源的標記。除default_tags外,Databricks還使用這些標記標記所有集群資源。 請注意:
|
|
cluster_log_conf |
Spark日誌發送到長期存儲目的地的配置。一個集群隻能指定一個目標。如果提供了此配置,則日誌將每天發送到目的地 |
|
spark_env_vars |
一個對象,它包含一組可選的、用戶指定的環境變量鍵值對。表單(X,Y)的鍵值對按如下方式導出(即, 以便指定一個額外的集合 Spark環境變量: |
|
init_scripts |
一個數組的InitScriptInfo |
用於存儲初始化腳本的配置。可以指定任意數量的目的地。這些腳本按照所提供的順序依次執行。如果 |
instance_pool_id |
|
集群所屬實例池的可選ID。看到池. |
driver_instance_pool_id |
|
要用於驅動程序節點的實例池的可選ID。您還必須指定 |
policy_id |
|
一個集群政策ID。 |
num_workers或自動定量 |
|
如果num_workers,表示該集群應該擁有的工作節點的數量。一個集群有一個Spark驅動程序和num_workers執行程序,總共有num_workers + 1個Spark節點。 在讀取集群的屬性時,該字段反映的是所需的工人數量,而不是工人的實際數量。例如,如果一個集群從5個工人調整到10個工人,這個字段將被更新以反映10個工人的目標大小,而在提供新節點時,執行程序中列出的工人逐漸從5個增加到10個。 如果是自動伸縮,則參數需要根據負載自動伸縮集群。 該字段是可選的。 |
apply_policy_default_values |
|
是否使用政策缺少集群屬性的默認值。 |
UpdateStateInfo
管道更新的當前狀態。
字段名 |
類型 |
描述 |
---|---|---|
update_id |
|
此更新的唯一標識符。 |
狀態 |
|
更新的狀態。之一 |
creation_time |
|
創建此更新時的時間戳。 |