共用方式為


設定 Delta Live Tables 管線的計算

本文包含設定 Delta Live Tables 管線自定義計算設定時的指示和考慮。

無伺服器管線不提供計算組態選項。 請參閱 設定 Delta Live 的無伺服器 Tables 管線

Select 叢集原則

用戶必須擁有運行計算資源的允許,才能配置和 update Delta Live Tables 管線。 工作區管理員可以設定叢集原則,讓用戶能夠存取 Delta Live Tables的計算資源。 請參閱 定義 Delta Live Tables 管線計算的限制。

注意

  • 叢集原則是選用的。 如果您缺少 Delta Live Tables所需的計算許可權,請洽詢您的工作區管理員。

  • 為了確保叢集原則預設 values 已正確套用,請在您的管線組態中檢查叢集組態中的 setapply_policy_default_valuestrue

    {
      "clusters": [
        {
          "label": "default",
          "policy_id": "<policy-id>",
          "apply_policy_default_values": true
        }
      ]
    }
    

設定叢集標籤

您可以使用叢集標籤監控管線叢集的使用情況。 當您建立或編輯管線或編輯管線叢集的 JSON 設定時,請在 Delta Live Tables UI 中新增叢集卷標。

Select 實例類型以運行流程

根據預設,Delta Live Tables 會選取資料處理管線主節點和工作節點的實例類型。 您可以選擇性地設定實體類型。

例如,可以使用 select 實例類型來提升管線效能,或在執行管線時解決記憶體問題。 當您 使用 REST API 或 Delta Live UI 管線來建立編輯時,您可以設定實例類型。

若要在 Delta Live Tables UI 中建立或編輯管線時設定實例類型:

  1. 按一下 [設定] 按鈕。
  2. 在管線設定的 [進階] 區段中,於 [背景工作角色類型] 和 [驅動程式 類型] 下拉功能表中,select 管線的實例類型。

進階計算組態

注意

由於計算資源完全由無伺服器DLT管線管理,因此當您 select切換至管線的無伺服器 時,計算設定將不可用。

每個 Delta Live Tables 管線都有兩個相關聯的叢集:

  • updates 叢集會處理管線更新。
  • maintenance 叢集會執行每日維護工作。

使用工作區管線組態 UI 指定的計算設定會同時套用至 update 和維護叢集。 您必須編輯 JSON 組態,才能獨立修改這些設定。

這些叢集使用的組態取決於 clusters 管線設定中指定的屬性。

使用叢集標籤,您可以新增僅適用於特定叢集類型的計算設定。 設定管線叢集時,您可以使用三個標籤:

注意

如果您只定義一個叢集組態,則可以省略叢集卷標設定。 如果未提供標籤的設定,標籤 default 會套用至叢集設定。 只有在您需要自訂不同叢集類型的設定時,才需要叢集標籤設定。

  • 標籤default會定義和 updates 叢集的maintenance計算設定。 將相同的設定套用至這兩個叢集可藉由確保儲存位置的數據存取 credentials 等必要組態套用至維護叢集,以改善維護執行的可靠性。
  • maintenance 標籤會定義僅適用於 maintenance 叢集的計算設定。 您也可以使用 maintenance 標籤來覆寫 default 標籤設定的設定。
  • updates 標籤會定義僅適用於 updates 叢集的設定。 使用它來設定不應套用至叢集的 maintenance 設定。

使用 defaultupdates 標籤定義的設定會合併為 updates 叢集建立最終設定。 如果使用 defaultupdates 標籤來定義相同的設定,則以 updates 標籤定義的設定會覆寫以 default 標籤定義的設定。

下列範例會定義只新增至叢集設定的 updates Spark 設定參數:

{
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    },
    {
      "label": "updates",
      "spark_conf": {
         "key": "value"
      }
    }
  ]
}

Delta Live Tables 具有與 Azure Databricks 上其他計算相同的叢集設定選項。 如同其他管線設定,您可以修改叢集的 JSON 設定,以指定 UI 中不存在的選項。 請參閱計算

注意

因為 Delta Live Tables 運行時間會管理管線叢集的生命週期,並執行自定義版本的 Databricks Runtime,所以您無法手動 set 管線組態中的某些叢集設定,例如 Spark 版本或叢集名稱。 請參閱不是使用者可設定的叢集屬性

設定 update 和維護叢集的實例類型

若要在管線的 JSON 設定中設定執行個體類型,請按下 [JSON] 按鈕,然後在叢集設定中輸入執行個體類型設定:

注意

為了避免將不必要的資源指派給 maintenance 叢集,本範例會使用 updates 卷標,只 setupdates 叢集的實例類型。 若要將執行個體類型指派給 updatesmaintenance 叢集,請使用 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

注意

由於 Delta Live Tables 叢集在未使用時會自動關閉,因此在叢集設定中參考設定 autotermination_minutes 的叢集原則會導致錯誤。

建立單一節點叢集

如果您在叢集設定中將 setnum_workers 設定為 0,將會建立 單一節點叢集。 設定自動調整叢集並將 min_workers 設定為 0,max_workers 設定為 0 會建立單一節點叢集。

如果您設定自動調整叢集,並且 set 只 min_workers 為 0,則叢集不會被建立成單一節點叢集。 叢集一直至少有一個作用中背景工作角色,直到終止為止。

在 Delta Live Tables中建立單一節點叢集的範例叢集組態:

{
    "clusters": [
      {
        "num_workers": 0
      }
    ]
}