計算組態最佳做法

本文說明設定選擇性計算組態的建議。 為了減少設定決策,Azure Databricks 建議利用無伺服器計算和計算原則。

  • 無伺服器計算不需要設定計算設定。 無伺服器計算一律可供使用,並根據您的工作負載進行調整。 請參閱 計算類型。

  • 計算原則可讓您建立專為個人計算、共用計算、進階使用者和作業等特定使用案例所設計的預先設定計算。 如果您沒有原則的存取權,請連絡您的工作區管理員。請參閱 默認原則和原則系列

如果您選擇使用自己的組態建立計算,下列各節會提供一般使用案例的建議。

注意

本文假設您已建立不受限制的叢集。 工作區系統管理員應該只將此許可權授與進階使用者。

計算重設大小考慮

人員 經常考慮計算大小,以背景工作角色數目而言,但還有其他重要因素需要考慮:

  • 執行程式核心總數(計算):所有執行程式的核心總數。 這會決定計算的最大平行處理原則。
  • 執行程式記憶體總計:所有執行程式的總 RAM 數量。 這會決定在將數據溢出到磁碟之前,可以儲存在記憶體中的數據量。
  • 執行程式本機記憶體:本機磁碟記憶體的類型和數量。 本機磁碟主要用於洗牌和快取期間溢出的情況。

其他考慮包括背景工作實例類型和大小,這也會影響上述因素。 調整計算大小時,請考慮:

  • 您的工作負載會耗用多少數據?
  • 工作負載的計算複雜度為何?
  • 您要從何處讀取資料?
  • 如何在外部記憶體中分割數據?
  • 您需要多少平行處理原則?

回答這些問題可協助您根據工作負載判斷最佳的計算組態。

背景工作角色數目與背景工作實例類型大小之間有平衡動作。 使用兩個背景工作角色設定計算,每個背景工作角色都有 40 個核心和 100 GB RAM,其計算和記憶體與設定 10 個核心和 25 GB RAM 的計算相同。

計算大小調整範例

下列範例會根據特定類型的工作負載顯示計算建議。 這些範例也包含要避免的設定,以及為什麼這些設定不適合工作負載類型。

數據分析

數據分析師通常會執行需要來自多個分割區數據的處理,導致許多隨機作業。 使用較少節點的計算可減少執行這些隨機顯示所需的網路和磁碟 I/O。

如果您只撰寫 SQL,數據分析的最佳選項將是無伺服器 SQL 倉儲。

注意

如果您的工作區已啟用無伺服器計算公開預覽,您可以使用無伺服器計算在 Python 或 SQL 中執行分析。 請參閱 筆記本的無伺服器計算。

如果您必須設定新的計算,具有大型 VM 類型的單一節點計算可能是最佳選擇,尤其是單一分析師。

分析工作負載可能需要重複讀取相同的數據,因此建議的節點類型會隨著啟用磁碟快取而優化。

針對分析工作負載建議的其他功能包括:

  • 啟用自動終止,以確保計算在閑置期間之後終止。
  • 請考慮根據分析師的一般工作負載來啟用自動調整。
  • 請考慮使用集區,以允許將計算限制為預先核准的實例類型,並確保一致的計算組態。

基本批次 ETL

注意

如果您的工作區已啟用工作流程的無伺服器計算 (公開預覽),您可以使用無伺服器計算來執行作業。 請參閱 筆記本的無伺服器計算。

不需要廣泛轉換的簡單批次 ETL 作業,例如聯結或匯總,通常受益於計算優化的背景工作類型。

計算優化的背景工作角色對記憶體和記憶體的需求較低,而且可能會節省其他背景工作類型的成本。

複雜批次 ETL

注意

如果您的工作區已啟用工作流程的無伺服器計算 (公開預覽),您可以使用無伺服器計算來執行作業。 請參閱 筆記本的無伺服器計算。

對於複雜的 ETL 作業,例如需要跨多個數據表聯集和聯結的作業,Databricks 建議減少背景工作角色數目,以減少隨機顯示的數據量。

複雜的轉換可能會需要大量運算。 如果您發現磁碟或 OOM 錯誤發生重大溢出,您應該新增其他節點。

Databricks 建議計算優化的背景工作類型。 計算優化的背景工作角色對記憶體和記憶體的需求較低,而且可能會節省其他背景工作類型的成本。 或者,使用集區來減少計算啟動時間,並減少執行作業管線時的運行時間總計。

定型機器學習模型

Databricks 建議使用大型節點類型進行單一節點計算,以使用定型機器學習模型進行初始實驗。 擁有較少的節點可減少隨機顯示的影響。

新增更多背景工作角色有助於穩定,但您應該避免因為洗牌數據的額外負荷而新增太多背景工作角色。

建議的背景工作類型是針對已啟用磁碟快取的記憶體優化,可考慮相同數據的重複讀取,以及啟用定型數據的快取。 如果記憶體優化節點所提供的計算和記憶體選項不足,請考慮 GPU 優化節點。 可能的缺點是缺乏這些節點的磁碟快取支援。

機器學習工作負載建議的其他功能包括:

  • 啟用自動終止,以確保計算在閑置期間之後終止。
  • 使用集區,允許將計算限制為預先核准的實例類型,並確保一致的計算組態。