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 是否要執行管線的指示旗標 development 或 production 模式。預設值為 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 執行時間版本。 支援的值為:
channel 欄位是選擇性的。 預設值為current 。 Databricks 建議針對生產工作負載使用目前的運行時間版本。 |
edition 類型 string 執行管線的 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 |
---|
預設值是以流程類型為基礎:
值為數位加上時間單位。 以下是有效的時間單位:
定義值時,您可以使用單數或複數單位,例如:
|
不是用戶可設定的叢集屬性
因為 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 此值是由系統設定,無法覆寫。 |