此頁面包含設定 Lakeflow Spark 宣告式管線傳統計算的指示。 如需 JSON 結構描述的參考,請參閱clusters管線 API 參考中的定義。
若要建立在傳統運算上執行的管線,使用者必須先擁有部署傳統運算的許可權,無論是無限制的建立許可權,還是計算原則的存取權。 無伺服器管線不需要計算建立許可權。 根據預設,所有工作區使用者都可以使用無伺服器管線。
備註
由於 Lakeflow Spark 宣告式管線執行階段會管理管線計算的生命週期,並執行 Databricks Runtime 的自定義版本,因此您無法在管線設定中手動設定某些計算設定,例如 Spark 版本或叢集名稱。 請參閱 使用者無法設定的叢集屬性。
選取管線的運算資源
若要從 Lakeflow 管線編輯器為您的管線設定經典運算:
- 點選 [設定]。
- 在管線設定的 計算 區 段中,按一下
編輯。
- 如果已檢查,請取消選取無伺服器。
- 進行計算設定的任何其他變更後,按一下儲存。
這會將您的管線設定為使用傳統運算,並允許您編輯運算設定,如下所述。
如需 Lakeflow 管線編輯器的詳細資訊,請參閱 使用 Lakeflow 管線編輯器開發和偵錯 ETL 管線。
選取計算原則
工作區系統管理員可以設定計算原則,讓使用者能夠存取管線的傳統計算資源。 運算原則是選擇性的。 如果您缺少所需的計算權限,請洽詢您的工作區管理員。 請參閱 定義 Lakeflow Spark 宣告式管線計算的限制。
使用 Pipelines API 時,若要確保正確套用計算原則預設值,請在定義中"apply_policy_default_values": true設定clusters:
{
"clusters": [
{
"label": "default",
"policy_id": "<policy-id>",
"apply_policy_default_values": true
}
]
}
設定運算標籤
您可以將自訂標籤新增至管線的傳統運算資源。 標籤可讓您監控組織中各種群組所使用的運算資源成本。 Databricks 會將這些標籤套用至雲端資源,以及 記錄在使用系統資料表中的使用記錄。 您可以使用 叢集標籤 UI 設定或編輯管線的 JSON 組態來新增標籤。
選擇要執行管線的實例類型
預設情況下,Lakeflow Spark 宣告式管線會選取管線 Driver 節點和 Worker 節點的執行個體類型。 您可以選擇性地設定實體類型。 例如,選取實例類型以改善管線效能,或在執行管線時解決記憶體問題。
若要在 Lakeflow 管線編輯器中建立或編輯管線時設定實例類型:
- 按一下 [設定] 按鈕。
- 在管線設定的 計算 區段中,按一下
- 在 進階設定 區段中,選取管線的 工作類型 和 Driver type 執行個體類型。
設定更新和維護叢集的個別設定
每個宣告式管線都有兩個相關聯的運算資源:處理管線更新的更新叢集,以及執行日常維護工作 (包括 預測性最佳化) 的維護叢集。 根據預設,您的運算組態會套用至這兩個叢集。 對兩個叢集使用相同的設定,可確保將儲存位置的資料存取認證等必要組態套用至維護叢集,從而改善維護執行的可靠性。
若要僅將設定套用至兩個叢集之一,請將欄位新增至 label 設定 JSON 物件。 欄位 label 有三個可能的值:
-
maintenance:僅將設定套用至維護叢集。 -
updates:僅將設定套用至更新叢集。 -
default:將設定套用至更新和維護叢集。 如果省略欄位label,這是預設值。
如果存在衝突的設定,則具有 或 updatesmaintenance 標籤的設定會覆寫以標籤定義 default 的設定。
備註
每日維護叢集僅在特定情況下使用:
- 儲存在 Hive 中繼存放區中的管線。
- 尚未接受無伺服器計算服務條款的工作區中的管線。 如果您需要接受條款的協助,請連絡您的 Databricks 代表。
- 工作區中尚未正確設定 無伺服器私人連結的管線。
範例:定義更新叢集的設定
下列範例會定義Spark組態參數,該參數只會新增至 updates 叢集的組態:
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
範例:設定更新叢集的執行個體類型
為了避免將不必要的資源指派給 maintenance 叢集,本範例會使用 updates 標籤,只設定 updates 叢集的實例類型。
{
"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。
備註
由於 Lakeflow Spark 宣告式管線的計算資源在閒置時會自動關閉,因此您無法使用包含 autotermination_minutes 設定的計算策略。 這會導致錯誤。
建立單一節點計算
單一節點計算具有同時充當主要和背景工作角色的驅動程式節點。 這適用於使用少量資料或未分散的工作負載。
若要建立單一節點計算,請設定 num_workers 為 0。 例如:
{
"clusters": [
{
"num_workers": 0
}
]
}