最佳實踐:集群策略

集群政策為管理員提供在Databricks工作區中創建集群資源的控製。有效使用集群策略允許管理員:

  • 強製執行標準化的集群配置。

  • 防止過度使用資源,控製支出。

  • 通過正確標記集群來確保準確的退款。

  • 通過為用戶提供針對特定工作負載的預配置集群配置,方便分析和處理。

有關集群策略和配置建議的介紹,請查看Databricks集群策略視頻:

與有效的登錄、審批和退款流程相結合,集群策略可以成為Databricks平台治理的基本組件。Beplay体育安卓版本本指南提供了建議和最佳實踐,以幫助您創建成功的計劃,將集群策略集成到治理框架中。

由於治理對於每個組織的需求和現有治理基礎設施都是獨一無二的,因此本文首先介紹通常適用於集群策略的建議。本文的最後一部分討論了解決您在環境中可能遇到的挑戰的特定策略。

本文討論了確保成功實施集群治理的以下最佳實踐和建議:

  • 創建計劃,分階段引入集群策略,以幫助用戶過渡到受治理的環境。

  • 為集群策略推出的每個階段創建一個交流更改的計劃。

  • 確定集群治理麵臨的挑戰,並實施應對這些挑戰的策略。

集群策略推出

實現集群策略可以顯著改變用戶體驗。Databricks推薦一種分階段的方法來幫助引導用戶完成過渡:

  • 告知即將發生的更改,並為用戶提供測試集群配置的機會。

  • 執行軟滾出。

  • 逐步引入進一步的政策變更。

  • 執行硬轉換到完全受治理的環境。

分階段推出允許用戶熟悉新策略,並防止現有工作負載中斷。下圖是這個推薦過程的一個例子:

集群策略推出計劃

以下章節將提供關於這些階段的更詳細信息:

交流和測試集群策略

通過與用戶溝通即將發生的更改來開始這個過程。溝通計劃應包括:

  • 關於即將到來的變化的細節。

  • 為什麼會發生這些變化。

  • 用戶需要做什麼來確保工作負載的成功轉換。

  • 如何提供關於更改的反饋。

  • 展示的每個階段的時間軸。

  • 在分階段推出的每個階段開始時,溝通與該階段相關的進一步細節。

下圖提供了分階段推出的示例通信計劃:

集群策略通信計劃

您的計劃可能有不同的階段,這取決於您的環境和集群策略策略。本例包括四個階段:

  • 階段1包括與用戶溝通計劃並開始測試。用戶必須有機會在符合新策略的集群上測試他們當前和預期的工作負載。您希望在流程的早期識別現有和計劃的工作負載的任何問題。

  • 階段2繼續測試,同時推出集群標記策略。

  • 階段3引入集群類型,在本例中使用t恤大小指定集群,例如,小型、大型或超大集群類型。

  • 階段4是集群策略的最終推出以及完整的用戶文檔。

用戶還應該有機會在初始階段使用計劃的集群配置測試他們的工作負載。此測試可以幫助識別在使用建議策略時存在問題的現有工作負載。

引入集群策略的注意事項

在規劃集群策略的初始部署時,請考慮當前的管理策略。特別是,要考慮您是從一個限製用戶創建集群的環境轉移到一個更開放的環境。

嚴格的環境

在用戶沒有創建集群的權限的環境中,首先推出限製策略,並為用戶製定支持計劃。實現計劃可以是基於計算機的培訓、研討會或文檔。為用戶提供關於配置集群的最佳實踐的指導,將提高他們充分利用平台的能力。Beplay体育安卓版本當用戶表現出對平台的遵從性和能力時,政策可以放寬。Beplay体育安卓版本

不受限製的環境

在不受限製的環境中應用策略可能更具挑戰性。一些現有的用例和集群幾乎總是不受新策略的限製,因此在測試或軟推出階段識別這些用例和集群是至關重要的。

具有集群創建權限或無限製策略訪問權限的用戶將在整個軟推出過程中保持對該策略的訪問權限,以確保所有工作負載繼續正常工作。用戶應該使用軟推出來測試他們所有的工作負載,這些新策略將提供給他們。

一定要給用戶提供一個地方來提交關於策略的反饋。當出現問題時,與用戶一起改進策略或定義新策略。

最後推出

當截止日期到達時,刪除對受限製用戶的不受限製策略的訪問。集群策略的推出現在應該完成了。

具體挑戰與策略

下麵是應用集群策略來解決特定挑戰的示例。其中許多策略可以同時使用,但需要在所有策略中應用每種策略。例如,如果使用標簽強製策略和t恤大小策略,每個t恤策略還需要一個custom_tag。*政策。

標簽執行

挑戰

用戶可以自由地創建集群,並且沒有機製強製他們應用所需的標記。

解決方案

  1. 撤銷集群創建權限從用戶。

  2. 向任何適用的集群策略添加集群標記規則。要將群集標記規則添加到策略中,請使用custom_tags。<標記名稱>屬性。該值可以是an下麵的任何值無限的政策,也可以由固定允許列表塊列表正則表達式,或範圍政策。例如,為了確保正確的退款和成本歸屬,執行aCOST_CENTER在每個策略上標記,限製為允許的成本中心值列表:

    “custom_tags。COST_CENTER”“類型”“allowlist”“價值觀”:【“9999”“9921”“9531”]}}

    使用此策略的任何用戶都必須填寫COST_CENTER標記9999、9921或9531以啟動集群。

  3. 將集群策略分配給應該能夠對這三個成本中心收費的用戶。策略可以在用戶或組級別上通過集群策略界麵或者是補丁/權限/ cluster-policies / {cluster_policy_id}端點。下麵的示例請求體將策略分配給銷售部門:

    “access_control_list”“user_name”“user@mydomain.com”“all_permissions”“permission_level”“CAN_USE”},“group_name”“銷售”“all_permissions”“permission_level”“CAN_USE”

沒有經驗的用戶

挑戰

用戶不熟悉集群或雲基礎設施配置,或者對集群創建選項感到不知所措。

解決方案

使用集群策略定義“t恤”大小的集群配置,例如,小型、中型或大型集群。

  1. 為每種t恤尺碼製定策略。t恤大小策略向用戶指示相對的集群大小,可以是靈活的模板,也可以是零選項配置。零選項或低選項策略通常會有固定以及隱藏的策略規則。下麵的示例為對象定義一個DBR 7.3的固定值策略spark_version.設置隱藏的標記為true將確保此選項對用戶不可見。

    “spark_version”“類型”“固定”“價值”“7.3.x-scala2.12”“隱藏”真正的}}

    在定義靈活的模板時,可以使用範圍塊列表塊列表正則表達式,無限的政策用於設置上限邊界、非可選字段和半限製策略元素的策略。下麵的示例定義了一個策略,該策略允許自動伸縮節點最多為25個。您可以使用此定義設置每個t恤尺寸的上限,同時提供一些靈活性。要查看集群模板方法的更多詳細信息,請參見資源占用過多

    “autoscale.max_workers”“類型”“範圍”“執行”“25”“defaultValue”5}}
  2. 將該策略分配給應該允許創建t恤大小集群的用戶。可以通過集群策略UI或集群策略權限API在用戶或組級別分配策略。例如,通過UI將此策略分配給所有用戶:

    1. 進入集群策略並選擇編輯

    2. 選擇權限選項卡。

    3. 選擇所有用戶選擇下在下拉列表中。

      為所有用戶分配策略
  3. 撤銷必須隻使用這些新策略的組對不受限製策略的訪問權。一旦使用了集群策略,擁有“集群創建”權限的用戶就可以訪問不受限製的策略。對於不應該擁有該權限的用戶,撤銷該權限非常重要。

    要撤消集群創建權限,請參見配置創建集群權限

特定於用例的策略

挑戰

一些工作負載或分析與現有策略不兼容,或者用戶不知道某些工作負載類型的正確集群配置。

解決方案

如果發現工作負載不能很好地與現有策略配合使用,通常最好創建專門針對這些工作負載的新策略,而不是擴展現有策略。

為了幫助用戶使用這些策略創建集群,它可以幫助創建針對特定用例調優的策略。為這些策略分配描述性名稱,以幫助用戶識別它們。例如,如果工作負載將查詢支持謂詞下推的數據源,則最佳實踐是構建一個特定的策略,該策略強製使用低或零工作者最小值進行自動伸縮。此策略將確保在等待數據源計算查詢的下推組件時,雲提供商和Databricks的成本不會不必要地增加。

  1. 創建執行特定於用例的最佳實踐的策略。此示例定義了一個具有固定值的策略0對於最低數量的工人。該策略還強製集群將自動伸縮,滿足謂詞下推示例的最佳實踐。

    “autoscale.min_workers”“類型”“固定”“價值”“0”“隱藏”}}
  2. 將策略分配給需要為這些用例構建集群的用戶。方法在用戶或組級別上分配策略集群策略界麵或者是權限API 2.0.例如,通過UI將此策略分配給數據科學家組:

    1. 進入集群策略並選擇編輯

    2. 選擇權限選項卡。

    3. 要將策略分配給特定的團隊,請在選擇用戶或組下拉。

      為組分配策略

資源占用過多

挑戰

用戶正在創建不必要的大型集群,消耗過多且昂貴的資源。這通常是由以下原因引起的:

  • 激活自動縮放失敗。

  • 自動終止窗口使用錯誤。

  • 過高的最小工作節點數。

  • 昂貴的實例類型。

解決方案

將集群策略與內部審批流程相結合,可以實現對資源的控製,同時在必要時提供對大型計算資源的訪問。

  1. 建立一個審查過程,以授予更大或更靈活的策略訪問權。審查流程應該有一個收集信息的表單,該表單支持對更大或更靈活的集群配置的需求。平台所有Beplay体育安卓版本權團隊應該評估這些信息,以決定如何支持工作負載需求。下圖展示了使用t恤尺寸的審批流程示例:

    策略分級過程
  2. 用更少的約束創建更靈活的策略,並專注於控製像標簽這樣的治理項目。靈活政策的一個例子:

    該策略提供了靈活性,允許用戶:

    • 從一係列實例類型中進行選擇,而不是一些過於昂貴的實例類型。

    • 配置最多100個節點的集群。

    • 設置自動終止時間為120分鍾。

    它還設置了合理的限製,並通過以下方式確保治理:

    • 為這個團隊強製一個標簽。

    • 需要自動定量。

    • 啟用彈性盤自動伸縮。

    • 指定Databricks運行時版本。

    此策略非常適合經驗豐富的用戶,他們需要對各種集群配置上的作業進行調優,並且是與審批流程相關聯的策略的一個很好的示例。

  3. 將升級和審批流程編製成文檔,並與用戶共享。發布關於識別可能需要更大靈活性或更大集群的工作負載類型的指南也很有幫助。

  4. 批準用戶後,將策略分配給他們。策略可以在用戶或組級別上通過集群策略界麵或者通過向權限API 2.0

    “access_control_list”“user_name”“users_email@yourdomain.com”“permission_level”“CAN_USE”

了解更多

要了解關於數據上的集群策略的更多信息,請參見管理集群策略還有我們關於集群策略的博客:允許使用集群策略進行完全管理控製的簡單集群創建