共用方式為


設定管線的傳統計算

此頁面包含設定 Lakeflow Spark 宣告式管線傳統計算的指示。 如需 JSON 結構描述的參考,請參閱clusters管線 API 參考中的定義。

若要建立在傳統運算上執行的管線,使用者必須先擁有部署傳統運算的許可權,無論是無限制的建立許可權,還是計算原則的存取權。 無伺服器管線不需要計算建立許可權。 根據預設,所有工作區使用者都可以使用無伺服器管線。

備註

由於 Lakeflow Spark 宣告式管線執行階段會管理管線計算的生命週期,並執行 Databricks Runtime 的自定義版本,因此您無法在管線設定中手動設定某些計算設定,例如 Spark 版本或叢集名稱。 請參閱 使用者無法設定的叢集屬性

選取管線的運算資源

若要從 Lakeflow 管線編輯器為您的管線設定經典運算:

  1. 點選 [設定]
  2. 在管線設定的 計算 區 段中,按一下 鉛筆 圖示。 編輯。
  3. 如果已檢查,請取消選取無伺服器
  4. 進行計算設定的任何其他變更後,按一下儲存

這會將您的管線設定為使用傳統運算,並允許您編輯運算設定,如下所述。

如需 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 管線編輯器中建立或編輯管線時設定實例類型:

  1. 按一下 [設定] 按鈕。
  2. 在管線設定的 計算 區段中,按一下 鉛筆 圖示。
  3. 進階設定 區段中,選取管線的 工作類型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
    }
  ]
}