Delta Live Tables 屬性參考
本文提供 Azure Databricks 中 Delta Live Tables JSON 設定規格和數據表屬性的參考。 如需使用這些各種屬性和組態的詳細資訊,請參閱下列文章:
Delta Live Tables 管線設定
欄位 |
---|
id 類型: string (英文)此管線的全域唯一標識符。 標識碼是由系統指派,且無法變更。 |
name 類型: string (英文)此管線的用戶易記名稱。 此名稱可用來識別UI中的管線作業。 |
storage 類型: string (英文)DBFS 或雲端記憶體上的位置,儲存管線執行所需的輸出數據和元數據。 數據表和元數據會儲存在此位置的子目錄中。 storage 未指定設定時,系統會預設為 中的dbfs:/pipelines/ 位置。storage 建立管線之後,就無法變更設定。 |
configuration 類型: object (英文)要新增至將執行管線之叢集 Spark 組態的選擇性設定清單。 Delta Live Tables 運行時間會讀取這些設定,並可透過Spark設定來管線查詢。 項目必須格式化為 key:value 成對。 |
libraries 類型: array of objects (英文)包含管線程式代碼和必要成品的筆記本數位。 |
clusters 類型: array of objects (英文)叢集執行管線的規格陣列。 如果未指定,管線會自動選取管線的預設叢集組態。 |
development 類型: boolean (英文)旗標,指出是否要在 中執行管線 development 或 production 模式。預設值是 true |
notifications 類型: array of objects (英文)當管線更新完成、發生可重試錯誤失敗、無法重試錯誤或流程失敗時,電子郵件通知的選擇性規格陣列。 |
continuous 類型: boolean (英文)旗標,指出是否要持續執行管線。 預設值是 false 。 |
target 類型: string (英文)保存管線輸出數據的資料庫名稱。 設定設定 target 可讓您檢視及查詢來自 Azure Databricks UI 的管線輸出數據。 |
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 (英文)在發生可重試失敗的管線更新之前,重試流程的嘗試次數上限。 預設值為 2。 根據預設,發生可重試失敗時,Delta Live Tables 運行時間會嘗試執行流程三次,包括原始嘗試。 |
pipelines.numUpdateRetryAttempts 類型: int (英文)在發生可重試失敗時,在更新失敗之前重試更新的嘗試次數上限。 重試會以完整更新的形式執行。 預設值為 5。 此參數僅適用於在生產模式中執行的觸發更新。 當管線在開發模式中執行時,不會重試。 |
Delta Live Tables 數據表屬性
除了 Delta Lake 支援的資料表屬性之外,您還可以設定下表屬性。
資料表屬性 |
---|
pipelines.autoOptimize.managed 預設: true 啟用或停用此數據表的自動排程優化。 |
pipelines.autoOptimize.zOrderCols 預設值:None 選擇性字串,包含以逗號分隔的數據行名稱清單,依此數據表排序。 例如, pipelines.autoOptimize.zOrderCols = "year,month" |
pipelines.reset.allowed 預設: true 控制此數據表是否允許完整重新整理。 |
CDC 資料表屬性
注意:控制墓碑管理行為的這些屬性已被取代,並取代為管線設定。 任何現有的或新的管線都應該使用新的管線設定。 請參閱 控制 SCD 類型 1 查詢的墓碑管理。
下表屬性會新增,以在使用 CDC 時控制事件的墓碑管理 DELETE
行為:
資料表屬性 |
---|
pipelines.cdc.tombstoneGCThresholdInSeconds 預設:5 分鐘 將此值設定為比對順序失序數據之間的最高預期間隔。 |
pipelines.cdc.tombstoneGCFrequencyInSeconds 預設值:60 秒 控制檢查清除的墓碑頻率。 |
請參閱 套用變更 API:簡化差異實時數據表中的異動數據擷取。
管線觸發間隔
您可以指定整個 Delta Live Tables 管線的管線觸發間隔,或指定為數據集宣告的一部分。 請參閱 管線觸發間隔。
pipelines.trigger.interval |
---|
預設值是以流程類型為基礎: * 串流查詢的五秒。 * 當所有輸入數據都是來自 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 差異即時資料表叢集會在持續更新以包含最新功能的自訂 Databricks 執行階段版本上執行。 Spark 版本會與 Databricks 執行時間版本搭配使用,且無法覆寫。 |
autotermination_minutes 由於 Delta Live Tables 會管理叢集自動終止和重複使用邏輯,因此無法覆寫叢集自動終止時間。 |
runtime_engine 雖然您可以為管線啟用 Photon 來控制此欄位,但無法直接設定此值。 |
effective_spark_version 系統會自動設定此值。 |
cluster_source 此欄位是由系統設定,而且是唯讀的。 |
docker_image 因為 Delta Live Tables 會管理叢集生命週期,所以您無法搭配管線叢集使用自定義容器。 |
workload_type 此值是由系統設定,無法覆寫。 |