集區最佳做法
本文說明什麼是集區,以及如何最好地設定集區。 如需有關建立集區的資訊,請參閱集區組態參考。
注意
如果您的工作負載支援無伺服器計算,Databricks 建議使用無伺服器計算,而不是使用集區,以利用一律開啟的可調整計算。 請參閱連線至無伺服器計算。
集區考量
建立集區時,請考量下列事項:
- 根據目標工作負載,使用執行個體類型和 Azure Databricks 執行階段建立集區。
- 如果可能,請使用現成執行個體填入集區,以降低成本。 僅使用現成集區作為背景工作角色節點。 您的驅動程式節點應使用隨需執行個體。
- 對於執行時間短和執行時間需求嚴格的工作,使用隨需執行個體填入集區。
- 使用集區標籤和叢集標籤來管理計費。
- 預先填入集區,以確保執行個體在叢集需要時可用。
根據工作負載建立集區
您可以透過為組織通常使用的每種執行個體類型和 Azure Databricks 執行階段建立集區,來最大限度地減少執行個體取得時間。 例如,如果大多數資料工程叢集使用執行個體類型 A,資料科學叢集使用執行個體類型 B,分析叢集使用執行個體類型 C,請為每種執行個體類型建立一個集區。
使用現成執行個體集區
如果驅動程式節點和背景工作角色節點具有不同的需求,請分別為每個節點使用不同的集區。
Azure Databricks 建議不要對驅動程式節點使用現成執行個體。 如果您對背景工作角色節點使用現成集區,請選取隨需集區作為驅動程式類型。
對於執行時間短和執行時間需求嚴格的工作,將集區設定為使用隨需執行個體。 使用隨需執行個體以防止取得的執行個體被現貨市場上出價更高的買家搶走。
對於支援互動式開發的叢集或優先考慮成本節約而不是可靠性的工作,將集區設定為使用現成執行個體。
標記集區以管理成本和計費
將集區標記至適當的成本中心,可讓您管理成本和使用量退款。 您可以使用多個自訂標籤將多個成本中心關聯到一個集區。 但是,在從集區中建立叢集時,請務必了解標記的傳播方式。 集區中的標籤會傳播至基礎雲端提供者的執行個體,但叢集的標籤不會傳播。 將管理雲端提供者計算成本的退款所需的所有自訂標籤套用於集區。
集區標籤和叢集標籤都會傳播至 Azure Databricks 計費。 您可以使用叢集和集區標籤的組合來管理 Azure Databricks 單位的退款。
若要深入了解,請參閱使用標籤監視使用量。
設定集區以控制成本
您可以使用下列組態選項來協助控制集區的成本:
- 將 最小閒置 實例設定為 0,以避免支付未執行工作的實例所產生的費用。 折衷方案是當叢集需要取得新實例時,所需的時間可能會增加。
- 根據預期的使用量,設定 最大容量。 這會設定集區中使用與閒置實例的最大數目上限。 如果作業或叢集在達到最大容量時向集區請求實例,該請求會失敗,且叢集不會取得更多實例。 因此,Databricks 建議您只有在有嚴格的實例配額或預算條件約束時,才設定最大容量。
- 設定 閑置實例自動終止 時間,以在實例從叢集釋出和從集區卸除時提供緩衝區。 將此設定為一個時段,以便在最小化成本的同時,確保排定作業之實例的可用性。 例如,作業 A 排定於上午 8:00 執行,需要 40 分鐘才能完成。 作業 B 排定於上午 9:00 執行,需要 30 分鐘才能完成。 將 [閒置實例自動終止] 設定為 20 分鐘,以確保作業 A 完成後,已返回至集區的實例在作業 B 啟動時可用。 除非由另一個叢集宣告這些實例,否則這些實例會在作業 B 結束 20 分鐘後終止。
預先填入集區
若要充分利用集區,您可以預先填入新建立的集區。 請在集區組態中將 [閒置下限] 執行個體數設定為大於零。 或者,如果您遵循建議將此值設定為零,請使用入門工作來確保新建立的集區具有可供叢集存取的可用執行個體。
透過此入門工作方法,可以排程在具有更嚴格的效能需求的工作之前或使用者開始使用互動式叢集之前,執行具有彈性執行時間需求的工作。 工作完成後,用於該工作的執行個體將釋放回集區。 將 [閒置下限] 執行個體設定設為 0,並將 [閒置執行個體自動終止] 時間設定為足夠高,以確保閒置執行個體仍可用於後續工作。
使用入門工作可讓集區執行個體啟動、填入集區,並可持續用於下游工作或互動式叢集。