共用方式為


DLT 屬性參考

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

DLT 工作流程設定

領域
id
類型:string
此管線的全域唯一標識符。 標識碼是由系統指派,且無法變更。
name
類型:string
此管線的用戶友好名稱。 此名稱可用來識別使用者介面中的管線作業。
configuration
類型:object
要新增至將執行管線之叢集 Spark 組態的選擇性設定清單。 DLT 執行時會讀取這些設定,並可透過 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 目錄。
如果未設定,管線會使用 storage中指定的位置發佈到舊版 Hive 中繼資料庫。
在傳統發佈模式中,指定包含目標架構的目錄,該架構是用來發佈目前管線中所有資料集的地方。 請參閱 LIVE 架構 (舊版)
schema
類型:string
管線的預設架構名稱,其中預設會發佈管線的所有數據集和元數據。 請參閱 設定目標目錄和架構
target(舊版)
類型:string
用於發佈目前流程中定義的所有數據集的目標資料表格名稱。
設定 target,而不是 schema 將管線設定為使用舊版發佈模式。 請參閱 LIVE 架構 (舊版)
storage(舊版)
類型:string
DBFS 或雲端記憶體上的位置,儲存管線執行所需的輸出數據和元數據。 數據表和元數據會儲存在此位置的子目錄中。
未指定 storage 設定時,系統會預設為 dbfs:/pipelines/中的位置。
建立管線之後,就無法變更 storage 設定。
channel
類型:string
要使用的 DLT 執行時間版本。 支援的值為:
  • preview 用來測試你的管線,以便迎接運行時版本即將進行的變更。
  • current 使用目前的執行階段版本。

channel 欄位是選擇性的。 預設值為
current。 Databricks 建議針對生產工作負載使用目前的運行時間版本。
edition
類型 string
執行管線的 DLT 產品版本。 此設定可讓您根據管線的需求選擇最佳產品版本:
  • CORE 執行串流資料匯入工作負載。
  • PRO 執行串流擷取和異動數據擷取 (CDC) 工作負載。
  • ADVANCED 執行串流引入負載、CDC 負載以及需透過 DLT 要求來強制數據品質約束的負載。

edition 欄位是選擇性的。 預設值為
ADVANCED
photon
類型:boolean
旗標,指出是否要使用 什麼是 Photon? 來執行管線。 Photon 是 Azure Databricks 高效能 Spark 引擎。 已啟用 Photon 的管線會以與非 Photon 管線不同的費率計費。
photon 欄位是選擇性的。 預設值為 false
pipelines.maxFlowRetryAttempts
類型:int
如果在管線更新過程中發生可重試的故障,這是管線更新失敗之前可重試該流程或任務流的最大次數。
默認值:兩次重試嘗試。 發生可重試失敗時,DLT 執行環境會在原始嘗試的基礎上總共嘗試執行流程三次。
pipelines.numUpdateRetryAttempts
類型:int
如果在更新期間發生可重試的失敗,這是在永久失敗更新之前重試更新的次數上限。 重試會以完整更新的形式執行。
此參數僅適用於在生產模式中執行的管線。 如果您的管線是在開發模式中執行,或當您執行 Validate 更新時,則不會嘗試重試。
違約:
  • 五個用於觸發的管線。
  • 連續管線無限制。

DLT 資料表屬性

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

數據表屬性
pipelines.autoOptimize.managed
默認值:true
啟用或停用此數據表的自動排程優化。
pipelines.autoOptimize.zOrderCols
默認值:無
一個可選的字串,包含以逗號分隔的欄位名稱清單,以按Z排序此表格。 例如,pipelines.autoOptimize.zOrderCols = "year,month"
pipelines.reset.allowed
默認值:true
控制此數據表是否允許完整重新整理。

管線觸發間隔

您可以指定整個 DLT 管線的觸發間隔,或將其作為資料集宣告的一部分來指定。 請參閱 設定連續管線的觸發間隔

pipelines.trigger.interval
預設值是以流程類型為基礎:
  • 串流查詢需要五秒。
  • 當所有輸入數據都是來自 Delta 來源時,一分鐘即可完成查詢。
  • 當某些數據來源可能是非 Delta 格式時,完整查詢需要十分鐘。

值為數位加上時間單位。 以下是有效的時間單位:
  • secondseconds
  • minuteminutes
  • hourhours
  • daydays

定義值時,您可以使用單數或複數單位,例如:
  • {"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"}

不是用戶可設定的叢集屬性

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

領域
cluster_name
DLT 會設定用來執行管線更新的叢集名稱。 這些名稱無法覆寫。
data_security_mode
access_mode
系統會自動設定這些值。
spark_version
DLT 叢集會在持續更新以包含最新功能的自定義 Databricks Runtime 版本上執行。 Spark 版本會與 Databricks 執行時間版本搭配使用,且無法覆寫。
autotermination_minutes
由於 DLT 會管理叢集自動終止和重複使用邏輯,因此無法覆寫叢集自動終止時間。
runtime_engine
雖然您可以為管線啟用 Photon 來控制此欄位,但無法直接設定此值。
effective_spark_version
系統會自動設定此值。
cluster_source
此欄位是由系統設定,而且是唯讀的。
docker_image
因為 DLT 會管理叢集生命週期,所以您無法搭配管線叢集使用自定義容器。
workload_type
此值是由系統設定,無法覆寫。