管理集群政策
集群政策是一個工具用來限製一個用戶或組的集群創建基於一組權限策略規則。
集群政策讓你:
限製用戶使用規定設置創建集群。
限製用戶創建一定數量的集群。
簡化用戶界麵,讓更多的用戶創建他們自己的集群(通過修複和隱藏一些值)。
每個集群控製成本通過限製最大成本(通過設置屬性的值限製為每小時的價格)。
介紹集群政策和配置建議,把磚集群政策的視頻:
本文主要關注使用UI管理策略。您還可以使用集群政策API和權限API管理政策。
需求
集群政策要求保費計劃。
施行細則
可以表達以下類型的約束策略規則:
定值與禁用控製元素
定值與控製隱藏在UI (JSON視圖中的值是可見的)
屬性值有限的一組值(允許列表或塊列表)
屬性值匹配給定的正則表達式
數值屬性限製在一定範圍內
啟用默認值使用的UI與控製
管理集群屬性
集群政策支持所有集群屬性控製集群API。每個字段支持特定類型的限製可能不同(基於他們的類型和關係到集群表單UI元素)。
此外,集群政策支持以下合成屬性:
“馬克斯DBU-hour”指標,即最大DBUs集群可以使用每一個。這個指標是一種直接的方式來控製成本在個體集群級別。
限製創建集群的來源:就業服務工作(集群),集群UI,集群REST API(通用集群)。
定義一個集群政策
你定義一個集群政策JSON策略定義,你把當你創建集群政策。
創建一個集群政策
您創建一個集群使用集群政策UI或政策集群政策API。使用UI創建一個集群政策:
克隆現有集群政策
您可以創建一個集群政策通過克隆現有政策。克隆一個集群政策使用UI:
點擊計算在側邊欄。
單擊政策選項卡。
選擇您想要克隆的政策。
點擊克隆。
在接下來的頁麵中,所有字段和值預填充的現有政策。改變您想修改的字段的值,然後單擊創建。
管理集群政策權限使用UI
工作空間管理員有權限對所有政策。
當創建一個集群,加上他們隻能選擇政策已獲得許可。如果用戶集群創建權限,那麼他們也可以選擇不受限製的政策,允許他們創建完全可配置集群。
請注意
如果用戶沒有訪問任何政策,該政策下拉不顯示。
編輯一個集群政策使用UI
你編輯一個集群使用集群政策UI或政策集群政策API。使用UI編輯一個集群政策:
點擊計算在側邊欄。
單擊集群政策選項卡。
選擇你想要編輯的政策。
點擊編輯。
在定義選項卡中,編輯策略定義。
點擊更新。
集群政策的家庭
當您創建一個集群政策,您可以選擇使用一個政策的家庭。政策的家庭提供預填充策略規則,共同計算用例。
當使用一個政策的家庭,你的規則政策繼承了家族的政策。在選擇一個政策的家庭,您可以創建按原樣的政策,或選擇添加規則或覆蓋給定的規則。
集群策略定義
一個集群策略定義是一家集個人表達的策略定義JSON。
在本節中:
策略定義
一個策略定義之間的地圖嗎路徑字符串定義一個屬性和一個限製類型。每個屬性隻能有一個限製。一條路徑是特定類型的資源,反映了資源屬性名稱創建API。如果資源創建使用嵌套的屬性,使用點的路徑連接嵌套的屬性名稱。策略定義中定義的屬性不是無限當您創建一個集群使用的政策。
接口政策{(路徑:字符串]:PolicyElement}
策略元素
一個政策因素指定一個支持的限製類型在給定屬性,可以選擇一個默認值。您可以指定一個默認值沒有定義的屬性限製政策。
類型PolicyElement=FixedPolicy|ForbiddenPolicy|(LimitingPolicyBase&LimitingPolicy);類型LimitingPolicy=AllowlistPolicy|BlocklistPolicy|RegexPolicy|RangePolicy|UnlimitedPolicy;
本節描述該政策類型:
固定的政策
極限的值設置為指定的值。屬性值除了數字和布爾,該屬性的值必須為代表或可轉換為一個字符串。
這個屬性可以隱藏在UI隱藏的
國旗是現在和組真正的
。一個固定的政策不能指定一個defaultValue
屬性自價值
屬性已經決定了默認值。
接口FixedPolicy{類型:“固定”;值:字符串| |布爾;隱藏嗎?:布爾;}
限製政策:共同的領域
在一個限製政策可以指定兩個額外的字段:
defaultValue
——集群創建表單的值填充UI。isOptional
——限製政策屬性使其所需。可選屬性,設置isOptional
場為true。
接口LimitedPolicyBase {defaultValue嗎?:字符串| |布爾;isOptional嗎?:布爾;}
請注意
默認值不會自動獲得應用於集群的創建集群API。應用默認值用API創建一個集群時,添加參數apply_policy_default_values
集群定義和設置它真正的
。這是不需要固定的政策。
塊列表政策
不允許的值的列表。因為必須精確匹配的值,這一政策可能不會像預期的那樣工作屬性是如何寬容值時表示(例如允許首尾空格)。
接口BlocklistPolicy{類型:“過濾清單”;值:(字符串|數量|布爾)[];}
政策範圍
限製指定的值的範圍minValue
和maxValue
屬性。的值必須是一個十進製數。必須可表示的數值範圍作為一個浮點值的兩倍。表明缺乏特定的限製,你可以省略的minValue
,maxValue
。
接口RangePolicy{類型:“範圍”;minValue嗎?:數量;maxValue嗎?:數量;}
集群政策屬性路徑
下表列出了支持集群政策屬性路徑。
屬性路徑 |
類型 |
描述 |
---|---|---|
|
可選數量 |
隱藏時,消除了最大的工人數量從UI字段。 |
|
可選數量 |
當隱藏,消除了最低工人數域從UI。 |
|
數量 |
值0表示沒有自動終止。隱藏時,將自動終止輸入UI複選框和價值。 |
|
字符串 |
集群名稱。 |
|
字符串 |
控製特定的標記值通過添加標簽的名稱,例如: |
|
字符串 |
設置集群的安全特性。 |
|
可選的字符串 |
隱藏時,消除了司機的節點類型選擇界麵。 |
|
字符串 |
|
|
字符串 |
如果控製工人使用的池節點 |
|
字符串 |
如果指定,配置不同的池司機節點比工人節點。如果沒有指定,繼承 |
|
字符串 |
控製GCP可行(PREEMPTIBLE_GCP PREEMPTIBLE_WITH_FALLBACK_GCP,或ON_DEMAND_GCP)。 |
|
布爾 |
設置為 |
|
字符串 |
控製GCP帶ID。 |
|
字符串 |
隱藏時,消除了工作節點類型選擇的UI。 |
|
可選數量 |
隱藏時,消除了工人數量從UI規範。 |
|
字符串 |
決定是否集群使用光子。可能的值是 |
|
字符串 |
為憑據透傳單用戶訪問的用戶名。 |
|
可選的字符串 |
控製特定的配置值附加配置鍵名。例如, |
|
可選的字符串 |
控製特定的火花環境變量值通過添加環境變量,例如: |
|
字符串 |
火花圖像版本名稱(如通過API指定)。 |
集群政策虛擬屬性路徑
屬性路徑 |
類型 |
描述 |
---|---|---|
|
數量 |
計算屬性代表(最大的自動定量集群)DBU集群包括驅動節點的成本。使用範圍的限製。 |
|
字符串 |
代表可以創建集群的類型:
允許或阻止創建指定類型的集群政策。如果 |
數組屬性
您可以指定數組屬性在兩個方麵:政策
通用所有數組元素的限製。這些限製使用
*
通配符在政策路徑標誌。數組元素的具體限製在一個特定的索引。這些限製使用的路徑。
例如,對於數組屬性init_scripts
,通用路徑開始init_scripts。*
和具體路徑init_scripts。< n >
,在那裏< n >
是一個整數數組中的索引(從0開始)。您可以結合通用和特定的限製,在這種情況下,通用的限製適用於每個數組元素沒有特定的限製。在每種情況下隻有一個政策限製將適用。
典型用例數組的政策是:
需要inclusion-specific條目。例如:
{“init_scripts.0.dbfs.destination”:{“類型”:“固定”,“價值”:“< required-script-1 >”},“init_scripts.1.dbfs.destination”:{“類型”:“固定”,“價值”:“< required-script-2 >”}}
你不能要求特定的值沒有指定的順序。
需要一個固定的值為整個列表。例如:
{“init_scripts.0.dbfs.destination”:{“類型”:“固定”,“價值”:“< required-script-1 >”},“init_scripts * .dbfs.destination”。:{“類型”:“禁止”}}
不允許使用。
{“init_scripts * .dbfs.destination”。:{“類型”:“禁止”}}
允許任意數量的條目隻遵循一個特定的限製。例如:
{“init_scripts * .dbfs.destination”。:{“類型”:“正則表達式”,“模式”:”。* <所需內容>。*”}}
在的情況下init_scripts
路徑,可以包含一個數組的多個結構處理所有可能的變體可能需要根據用例。例如,要求一組特定的init腳本,和禁止其他的任何變體版本,您可以使用以下模式:
{“init_scripts.1.dbfs.destination”:{“類型”:“固定”,“價值”:“dbfs: / < dbfs-path >”},“init_scripts * .workspace.destination”。:{“類型”:“禁止”},“init_scripts * .gcs.destination”。:{“類型”:“禁止”},“init_scripts * .dbfs.destination”。:{“類型”:“禁止”},“init_scripts * .file.destination”。:{“類型”:“禁止”}}
集群政策的例子
一般集群政策
通用的集群政策旨在引導用戶,限製一些功能,同時要求標簽,限製的最大實例數,和執行超時。
{“spark_conf.spark.databricks.cluster.profile”:{“類型”:“固定”,“價值”:“serverless”,“隱藏”:真正的},“instance_pool_id”:{“類型”:“禁止”,“隱藏”:真正的},“spark_version”:{“類型”:“正則表達式”,“模式”:“12 \ \ [0 - 9]+ \ \ .x-scala。*”},“node_type_id”:{“類型”:“allowlist”,“價值觀”:(“n2-highmem-4”,“n2-highmem-8”,“n2-highmem-16”),“defaultValue”:“n2-highmem-4”},“driver_node_type_id”:{“類型”:“固定”,“價值”:“n2-highmem-8”,“隱藏”:真正的},“autoscale.min_workers”:{“類型”:“固定”,“價值”:1,“隱藏”:真正的},“autoscale.max_workers”:{“類型”:“範圍”,“執行”:25,“defaultValue”:5},“autotermination_minutes”:{“類型”:“固定”,“價值”:30.,“隱藏”:真正的},“custom_tags.team”:{“類型”:“固定”,“價值”:“產品”}}
δ定義限製住表管道集群
請注意
當使用集群政策配置三角洲集群生活表,磚應用單個策略的建議默認的
和維護
集群。
配置一個集群政策對於管道集群中,創建一個與政策cluster_type
字段設置為dlt
。下麵的示例創建一個最小的政策為δ生活表集群:
{“cluster_type”:{“類型”:“固定”,“價值”:“dlt”},“num_workers”:{“類型”:“無限”,“defaultValue”:3,“isOptional”:真正的},“node_type_id”:{“類型”:“無限”,“isOptional”:真正的},“spark_version”:{“類型”:“無限”,“隱藏”:真正的}}
簡單的中等規模的政策
允許用戶創建一個中等規模的集群以最小的配置。隻有在創建時必需字段集群名稱;其餘的是固定的和隱藏。
{“instance_pool_id”:{“類型”:“禁止”,“隱藏”:真正的},“spark_conf.spark.databricks.cluster.profile”:{“類型”:“禁止”,“隱藏”:真正的},“autoscale.min_workers”:{“類型”:“固定”,“價值”:1,“隱藏”:真正的},“autoscale.max_workers”:{“類型”:“固定”,“價值”:10,“隱藏”:真正的},“autotermination_minutes”:{“類型”:“固定”,“價值”:60,“隱藏”:真正的},“node_type_id”:{“類型”:“固定”,“價值”:“n2-highmem-4”,“隱藏”:真正的},“driver_node_type_id”:{“類型”:“固定”,“價值”:“i3.xlarge”,“隱藏”:真正的},“spark_version”:{“類型”:“固定”,“價值”:“汽車:latest-ml”,“隱藏”:真正的},“custom_tags.team”:{“類型”:“固定”,“價值”:“產品”}}
工作政策
允許用戶使用集群創建作業集群和運行工作。用戶無法創建一個通用的集群使用該策略。
{“cluster_type”:{“類型”:“固定”,“價值”:“工作”},“dbus_per_hour”:{“類型”:“範圍”,“執行”:One hundred.},“instance_pool_id”:{“類型”:“禁止”,“隱藏”:真正的},“num_workers”:{“類型”:“範圍”,“minValue”:1},“node_type_id”:{“類型”:“正則表達式”,“模式”:“(na) [1 - 2] d ? -(?:標準| highmem) (0 - 96)”},“driver_node_type_id”:{“類型”:“正則表達式”,“模式”:“(na) [1 - 2] d ? -(?:標準| highmem) (0 - 96)”},“spark_version”:{“類型”:“無限”,“defaultValue”:“汽車:latest-lts”},“custom_tags.team”:{“類型”:“固定”,“價值”:“產品”}}
外部metastore政策
允許用戶創建一個集群,一個admin-defined metastore已附呈。這是非常有用的,允許用戶創建自己的集群,而無需額外的配置。
{“spark_conf.spark.hadoop.javax.jdo.option.ConnectionURL”:{“類型”:“固定”,“價值”:" jdbc::狀態"置疑" / / < jdbc url >”},“spark_conf.spark.hadoop.javax.jdo.option.ConnectionDriverName”:{“類型”:“固定”,“價值”:“com.microsoft.sqlserver.jdbc.SQLServerDriver”},“spark_conf.spark.databricks.delta.preview.enabled”:{“類型”:“固定”,“價值”:“真正的”},“spark_conf.spark.hadoop.javax.jdo.option.ConnectionUserName”:{“類型”:“固定”,“價值”:“< metastore-user >”},“spark_conf.spark.hadoop.javax.jdo.option.ConnectionPassword”:{“類型”:“固定”,“價值”:“< metastore-password >”}}
刪除自動定量政策
這一政策禁用自動定量和允許用戶組工人的數量在給定的範圍內。
{“num_workers”:{“類型”:“範圍”,“執行”:25,“minValue”:1,“defaultValue”:5}}