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 (英文)指出是否要在 development 或 production 模式中執行管線的旗標。預設值是 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 此值是由系統設定,無法覆寫。 |