Share via


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 (英文)

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

預設值是 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

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