分享方式:


使用增強型自動調整將 Delta Live Tables 管線的叢集使用率優化

本文討論如何使用增強的自動調整,將 Azure Databricks 上的 Delta Live Tables 管線優化。

所有新管線預設會啟用增強的自動調整。

對於無伺服器管線,增強型自動調整一律為開啟且無法停用。 請參閱 設定無伺服器差異實時數據表管線

什麼是增強型自動調整?

Databricks 增強的自動調整可藉由根據工作負載磁碟區自動配置叢集資源,以最佳化叢集資源,並將對管線資料處理延遲的影響降至最小。

增強的自動調整可改善 Azure Databricks 叢集自動調整功能 ,並具有下列功能:

  • 增強的自動調整會實作串流工作負載的優化,並新增增強功能來改善批次工作負載的效能。 隨著工作負載變更,增強的自動調整可藉由新增或移除計算機來優化成本。
  • 增強的自動調整會主動關閉使用量過低的節點,同時保證關機期間沒有失敗的工作。 只有在節點閑置時,現有的叢集自動調整功能才會相應減少節點。

當您在 Delta Live Tables UI 中建立新的管線時,增強型自動調整是預設的自動調整模式。 您可以編輯 UI 中的管線設定,以啟用現有管線的增強式自動調整。 當您使用 Delta Live Tables API 建立或編輯管線時,您也可以啟用增強的自動調整。

增強型自動調整會使用哪些計量來做出相應增加或相應減少決策?

增強型自動調整會使用兩個計量來決定相應增加或相應減少:

  • 工作位置使用率:這是忙碌工作位置數目與叢集中可用工作位置總數的平均比率
  • 工作佇列大小:這是等候在工作位置中執行的工作數目。

為 Delta Live Tables 管線啟用增強的自動調整

當您在 Delta Live Tables UI 中建立新的管線時,增強型自動調整是預設的自動調整模式。 您可以編輯 UI 中的管線設定,以啟用現有管線的增強式自動調整。 您也可以在使用 Delta Live Tables API 建立或編輯管線時啟用增強的自動調整。

若要使用增強型自動調整,請執行下列其中一項動作:

  • 在 Delta Live Tables UI 中建立或編輯管線時,將叢集模式設定增強的自動調整
  • 設定 autoscale 新增至管線叢集組態,並將欄位設定 modeENHANCED。 請參閱 設定 Delta Live Tables 管線的計算。

設定生產管線的增強式自動調整時,請使用下列指導方針:

  • Min workers將設定保留為預設值。
  • 根據 Max workers 預算和管線優先順序,將 設定為值。

下列範例會設定至少5個背景工作角色和最多10個背景工作角色的增強式自動調整叢集。 max_workers 必須大於或等於 min_workers

注意

  • 增強型自動調整 updates 僅適用於叢集。 舊版自動調整會用於 maintenance 叢集。
  • autoscale 態有兩種模式:
{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

如果管線設定為連續執行,在自動調整組態變更之後會自動重新啟動。 重新啟動之後,預期會有短暫的延遲增加。 在這段短暫的延遲增加期間之後,叢集大小應根據您的 autoscale 設定進行更新,而管線延遲應該會傳回其先前的延遲特性。

限制使用增強式自動調整之管線的成本

注意

您無法設定無伺服器管線的背景工作角色。

在管線中設定 Max worker 參數計算窗格會設定自動調整的上限。 減少可用的背景工作角色數目可能會增加某些工作負載的延遲,但會防止計算資源成本在計算密集型作業期間暴增。

Databricks 建議調整 [最大背景工作角色 ] 設定,以平衡您特定需求的成本延遲取捨。

[管線] UI 中的 [計算] 窗格,您可以在其中設定自動調整的 [最大背景工作角色]

監視已啟用自動調整功能的增強型傳統管線

您可以使用 Delta Live Tables 使用者介面中的事件記錄檔,監視傳統管線的增強式自動調整計量。 增強的自動調整事件具有 autoscale 事件類型。 以下是範例事件:

活動 訊息
叢集重設大小要求已啟動 Scaling [up or down] to <y> executors from current cluster size of <x>
叢集重設大小要求成功 Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED
叢集重設大小要求部分成功 Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED
叢集重設大小要求失敗 Achieved cluster size <x> for cluster <cluster-id> with status FAILED

您也可以直接查詢 事件記錄檔來檢視增強型自動調整事件: