共用方式為


Delta Live Tables 屬性參考

本文提供 Azure Databricks 中 Delta Live Tables JSON 設定規格和數據表屬性的參考。 如需關於使用這些各種屬性和組態的詳細資訊,請參閱下列文章:

Delta Live Tables 管道設定

欄位
id

類型:string (英文)

此管線的全域唯一標識符。 標識碼是由系統指派,且無法變更。
name

類型:string (英文)

此管線的使用者好記名稱。 此名稱可用來識別 UI 中的管線作業。
configuration

類型:object (英文)

可選設定清單,用來新增至將執行管線的叢集的 Spark 組態。 Delta Live Tables 執行環境會讀取這些設定,並可透過 Spark 配置使用於資料管線查詢。

元素必須格式化為 key:value 配對。
libraries

類型:array of objects (英文)

包含管線程式碼和必要成品的筆記本陣列。
clusters

類型:array of objects (英文)

要執行管線的叢集的規格陣列。

如果未指定,管線會自動選取管線的預設叢集組態。
development

類型:boolean (英文)

指出是否要在
developmentproduction 模式中執行管線的旗標。

預設值是 true
notifications

類型:array of objects (英文)

當管線更新完成、發生可重試錯誤失敗、無法重試錯誤或流程失敗時,電子郵件通知的選擇性規格陣列。
continuous

類型:boolean (英文)

指出是否要持續執行管線的旗標。

預設值是 false
**catalog **

類型:string (英文)

管線的預設目錄名稱,其中會發佈管線的所有數據集和元數據。 設定此值會為管線啟用 Unity Catalog。

如果保持未設定,管線會使用 storage中指定的位置發佈至舊版 Hive 中繼存放區。

在舊版發佈模式中,指定包含目前管線中所有要發佈的數據集之目標結構的目錄。 請參閱 LIVE 架構 (舊版)
**schema **

類型:string (英文)

管線的預設架構名稱,其中預設會發佈管線的所有數據集和元數據。 請參閱 設定目標目錄和架構
** target (舊版) **

類型:string (英文)

發佈目前管線中定義之所有數據集的目標架構名稱。

設定 target,而不是 schema 將管線設定為使用舊版發佈模式。 請參閱 LIVE 架構 (舊版)
** storage (舊版) **

類型:string (英文)

DBFS 或雲端記憶體上的位置,儲存管線執行所需的輸出數據和元數據。 數據表和元數據會儲存在此位置的子目錄中。

未指定 storage 設定時,系統會預設為 dbfs:/pipelines/ 中的位置。

建立管線之後,storage 就無法變更設定。
channel

類型:string (英文)

使用的 Delta Live Tables 執行時間版本號。 支援的值為:

- preview 使用即將對執行階段版本的變更來測試您的管線。
- current 以檢視目前的執行階段版本。

channel 是選擇性欄位。 預設值為
current. Databricks 建議針對生產工作負載使用目前執行階段版本。
edition

輸入 string

執行管線所需的 Delta Live Tables 產品版本。 此設定可讓您根據管線的需求,選擇最佳產品版本:

- CORE 表示執行串流內嵌工作負載。
- PRO 表示執行串流擷取和異動資料擷取 (CDC) 工作負載。
- ADVANCED 執行串流擷取工作負載、CDC 工作負載,以及需要透過 Delta Live Tables 的預期來強制執行數據品質限制的工作負載。

edition 是選擇性欄位。 預設值為
ADVANCED.
photon

類型:boolean (英文)

指出是否要使用什麼是 Photon?來執行管線的旗標。 Photon 是 Azure Databricks 高效能 Spark 引擎。 啟用 Photon 的管線會以與非 Photon 管線不同的費率計費。

photon 是選擇性欄位。 預設值是 false
pipelines.maxFlowRetryAttempts

類型:int (英文)

如果在管線更新期間發生可重試失敗,這是在管線更新失敗之前重試流程的次數上限

默認值:兩次重試嘗試。 發生可重試失敗時,Delta Live Tables 執行環境會嘗試執行流程三次,包括原始嘗試。
pipelines.numUpdateRetryAttempts

類型:int (英文)

如果在更新期間發生可重試的失敗,這是在永久失敗更新之前重試更新的次數上限。 重試會以完整更新的形式執行。

此參數僅適用於在生產模式中執行的管線。 如果您的管線是在開發模式中執行,或當您執行 Validate 更新時,將不會嘗試進行重試。

違約:

- 五個用於觸發的管線。
- 連續管線無限制。

Delta Live Tables 數據表屬性

除了 Delta Lake所支援的數據表屬性之外,您還可以設定下表屬性。

數據表屬性
pipelines.autoOptimize.managed

預設:true

啟用或停用此數據表的自動排程優化。
pipelines.autoOptimize.zOrderCols

預設值:None

可選字串,包含以逗號分隔的欄位名稱清單,依此欄位順序對表進行排列。 例如,pipelines.autoOptimize.zOrderCols = "year,month"
pipelines.reset.allowed

預設:true

控制此數據表是否允許完整重新整理。

管線觸發間隔

您可以為整個 Delta Live Tables 流水線指定觸發間隔,或者作為資料集宣告的一部分來指定。 請參閱 設定連續管線的觸發間隔

pipelines.trigger.interval
預設值基於流程類型:

- 五秒的串流查詢。
- 當所有輸入資料都是來自 Delta 來源時,一分鐘即可完成查詢。
- 當某些資料源可能是非 Delta 時,十分鐘完成查詢。

值為數位加上時間單位。 以下是有效的時間單位:

- second, seconds
- minute, minutes
- hour, hours
- day, days

定義值時,您可使用單數或複數單位,例如:

- {"pipelines.trigger.interval" : "1 hour"}
- {"pipelines.trigger.interval" : "10 seconds"}
- {"pipelines.trigger.interval" : "30 second"}
- {"pipelines.trigger.interval" : "1 minute"}
- {"pipelines.trigger.interval" : "10 minutes"}
- {"pipelines.trigger.interval" : "10 minute"}

不是使用者可設定的叢集屬性

因為 Delta Live Tables 會管理叢集生命週期,所以許多叢集設定是由 Delta Live Tables 所設定,而且使用者無法在管線設定或管線所使用的叢集原則中手動設定。 下表列出這些設定,以及無法手動設定它們的原因。

欄位
cluster_name

Delta Live Tables 會設定用來執行管線更新的叢集名稱。 無法覆寫這些名稱。
data_security_mode
access_mode

系統會自動設定這些值。
spark_version

Delta Live Tables 叢集會在持續更新以包含最新功能的自定義 Databricks Runtime 版本上執行。 Spark 版本會與 Databricks Runtime 版本搭配使用,且無法覆寫。
autotermination_minutes

由於 Delta Live Tables 會管理叢集自動終止和重複使用邏輯,因此無法覆寫叢集自動終止時間。
runtime_engine

雖然您可以為管線啟用 Photon 來控制此欄位,但無法直接設定此值。
effective_spark_version

系統會自動設定此值。
cluster_source

此欄位是由系統設定,而且是唯讀的。
docker_image

因為 Delta Live Tables 會管理叢集生命週期,所以您無法搭配管線叢集使用自定義容器。
workload_type

此值是由系統設定,無法覆寫。