設定 DLT 管線的計算
本文包含設定 DLT 管線自定義計算設定時的指示和考慮。
無伺服器管線不提供計算組態選項。 請參閱 設定無伺服器 DLT 管線。
選取叢集原則
用戶必須具有部署計算以設定及更新 DLT 管線的許可權。 工作區管理員可以設定叢集原則,讓用戶能夠存取 DLT 的計算資源。 請參閱 定義 DLT 流水線運算的限制。
注意
設定叢集標籤
您可以使用 叢集標籤 來監視管線叢集的使用狀況。 當您建立或編輯管線或編輯管線叢集的 JSON 設定時,請在 DLT UI 中新增叢集卷標。
選擇要執行管線的實例類型
根據預設,DLT 會選擇您的管道驅動節點和工作節點的實例類型。 您可以選擇性地設定實體類型。
例如,選取實例類型以改善管線效能,或在執行管線時解決記憶體問題。 當您 使用 REST API 或在 DLT UI 中建立 或 編輯管線 時,您可以設定實例類型。
若要在 DLT UI 中建立或編輯管線時設定實例類型:
- 按一下 [設定] 按鈕。
- 在管線設定的 [進階] 區段中,於 [工作節點類型] 和 [驅動類型] 下拉選單中,選擇管線的實例類型。
進階計算組態
注意
由於計算資源由系統全權管理以支援無伺服器 DLT 管線,因此當您選擇 的無伺服器 管線時,計算設定將無法使用。
每個 DLT 管線都有兩個相關聯的叢集:
-
updates
叢集會處理管道更新。 -
maintenance
叢集會執行每日維護工作。
使用工作區管線組態 UI 指定的計算設定會同時套用至更新和維護叢集。 您必須編輯 JSON 組態,才能獨立修改這些設定。
這些叢集使用的組態是由管線設定中指定的 clusters
屬性所決定。
使用叢集標籤,您可以新增僅適用於特定叢集類型的計算設定。 設定管線叢集時,您可以使用三個標籤:
注意
如果您只定義一個叢集組態,則可以省略叢集卷標設定。 如果未提供標籤的設定,則 default
標籤會套用至叢集組態。 只有在您需要自定義不同叢集類型的設定時,才需要叢集卷標設定。
-
default
標籤會定義updates
和maintenance
叢集的計算設定。 將相同的設定套用至這兩個叢集可藉由確保儲存位置的數據存取認證等必要組態套用至維護叢集,以改善維護執行的可靠性。 -
maintenance
標籤會定義僅適用於maintenance
叢集的計算設定。 您也可以使用maintenance
標籤來覆寫default
標籤所設定的設定。 -
updates
標籤標會定義僅適用於updates
叢集的設定。 使用它來設定不應套用至maintenance
叢集的設定。
使用 default
和 updates
標籤定義的設定會合併為 updates
叢集建立最終組態。 如果使用 default
和 updates
標籤定義相同的設定,則以 updates
標籤定義的設定會覆寫以 default
標籤定義的設定。
下列範例會定義Spark組態參數,該參數只會新增至 updates
叢集的組態:
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
DLT 有類似叢集設定的選項,如同 Azure Databricks 上的其他計算。 如同其他管線設定,您可以修改叢集的 JSON 組態,以指定 UI 中不存在的選項。 請參閱 運算。
注意
因為 DLT 執行時間會管理管線叢集的生命週期並執行自定義版本的 Databricks Runtime,所以您無法在管線設定中手動設定某些叢集設定,例如 Spark 版本或叢集名稱。 請參閱 使用者無法設定的叢集屬性。
設定更新和維護叢集的實例類型
若要在管線的 JSON 設定中設定實例類型,請按兩下 [JSON] 按鈕,然後在叢集組態中輸入實例類型組態:
注意
為了避免將不必要的資源指派給 maintenance
叢集,本範例會使用 updates
標籤,只設定 updates
叢集的實例類型。 若要將實例類型指派給 updates
和 maintenance
叢集,請使用 default
標籤或省略標籤的設定。 如果未提供標籤的設定,default
標籤就會套用至管線叢集組態。 請參閱 進階計算組態。
{
"clusters": [
{
"label": "updates",
"node_type_id": "Standard_D12_v2",
"driver_node_type_id": "Standard_D3_v2",
"...": "..."
}
]
}
延遲計算關機
若要控制叢集關機行為,您可以使用開發或生產模式,或使用管線設定中的 pipelines.clusterShutdown.delay
設定。 下列範例會將 pipelines.clusterShutdown.delay
值設定為 60 秒:
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}
開啟 production
模式時,pipelines.clusterShutdown.delay
的預設值是 0 seconds
。 開啟 development
模式時,預設值會 2 hours
。
注意
由於 DLT 叢集在不使用時會自動關閉,因此參考叢集設定中設定 autotermination_minutes
的叢集原則會導致錯誤。
建立單一節點叢集
如果您在叢集設定中將 num_workers
設定為 0,叢集會建立為 單一節點叢集。 設定自動調整叢集並將 min_workers
設定為 0,max_workers
設定為 0 會建立單一節點叢集。
如果您設定自動調整叢集,並將 min_workers
設定為0,則不會將叢集建立為單一節點叢集。 叢集始終至少有一個活躍的工作節點,直到終止。
DLT 中建立單一節點叢集的範例叢集組態:
{
"clusters": [
{
"num_workers": 0
}
]
}