管理集群政策

預覽

這個特性是在公共預覽

一個集群政策限製的能力配置集群基於一組規則。策略規則限製可用的屬性或屬性值創建集群。集群政策acl,限製他們使用特定的用戶和組。

集群政策讓你:

  • 限製使用規定設置用戶創建集群。

  • 簡化用戶界麵,讓更多的用戶創建他們自己的集群(通過修複和隱藏一些值)。

  • 每個集群控製成本通過限製最大成本(通過設置屬性的值限製為每小時的價格)。

介紹集群政策和配置建議,把磚集群政策的視頻:

集群政策權限限製政策的用戶可以選擇政策下拉,當用戶創建一個集群:

  • 一個用戶集群創建權限可以選擇不受限製的政策和創建完全可配置集群。

  • 用戶既有集群創建權限和訪問集群政策可以選擇不受限製的政策和策略。

  • 用戶隻可以訪問集群政策,可以選擇他們獲得的政策。

請注意

如果沒有政策在工作區中創建,政策下拉不顯示。

隻有管理員用戶可以創建、編輯和刪除策略。管理用戶也可以訪問所有的政策。

本文主要關注使用UI管理策略。您還可以使用集群政策API 2.0權限API 2.0管理政策。

需求

集群政策要求磚溢價的計劃

施行細則

可以表達以下類型的約束策略規則:

  • 定值與禁用控製元素

  • 定值與控製隱藏在UI (JSON視圖中的值是可見的)

  • 屬性值有限的一組值(允許列表或塊列表)

  • 屬性值匹配給定的正則表達式

  • 數值屬性限製在一定範圍內

  • 啟用默認值使用的UI與控製

管理集群屬性

集群政策支持所有集群屬性控製集群API 2.0。每個字段支持特定類型的限製可能不同(基於他們的類型和關係到集群表單UI元素)。

此外,集群政策支持以下合成屬性:

  • “馬克斯DBU-hour”指標,即最大DBUs集群可以使用每一個。這個指標是一種直接的方式來控製成本在個體集群級別。

  • 限製創建集群的來源:就業服務工作(集群),集群UI,集群REST API(通用集群)。

非托管集群屬性

以下集群屬性不能被限製在一個集群政策:

  • 庫,由庫API 2.0。一個方法是使用自定義容器或者一個init腳本

  • 每個用戶創建的集群的數量(總也不同時)。政策是一個集群的範圍,所以沒有的知識集群由一個用戶。

  • 集群權限(acl),它是由一個單獨的API。

定義一個集群政策

你定義一個集群政策JSON策略定義,你把當你創建集群政策。

創建一個集群政策

您創建一個集群使用集群政策UI或政策集群政策API 2.0。使用UI創建一個集群政策:

  1. 點擊計算圖標計算在側邊欄。

  2. 單擊集群政策選項卡。

    集群政策選項卡
  3. 單擊創建政策按鈕。

    輸入集群政策名稱
  4. 名字的政策。政策名稱不區分大小寫。

  5. 定義標簽,粘貼策略定義

  6. 點擊創建

克隆現有集群政策

您可以創建一個集群政策通過克隆現有政策。克隆一個集群政策使用UI:

  1. 點擊計算圖標計算在側邊欄。

  2. 單擊集群政策選項卡。

  3. 選擇您想要克隆的政策。

  4. 點擊克隆

  5. 在接下來的頁麵中,所有字段和值預填充的現有政策。改變您想修改的字段的值,然後單擊創建

管理集群政策的權限

通過定義管理員有權限對所有政策。您可以使用集群管理集群政策權限UI或政策權限API 2.0

添加一個集群政策許可

添加一個集群政策許可使用UI:

  1. 點擊計算圖標計算在側邊欄。

  2. 單擊集群政策選項卡。

  3. 選擇您希望更新的政策。

  4. 單擊權限選項卡。

  5. 的名字列,選擇一個校長。

    政策允許的主要
  6. 許可列,選擇一個許可:

    政策允許的
  7. 點擊添加

刪除一個集群政策許可

刪除一個集群政策許可使用UI:

  1. 點擊計算圖標計算在側邊欄。

  2. 單擊集群政策選項卡。

  3. 選擇您希望更新的政策。

  4. 單擊權限選項卡。

  5. 單擊刪除圖標圖標允許行。

編輯一個集群政策使用UI

你編輯一個集群使用集群政策UI或政策集群政策API 2.0。使用UI編輯一個集群政策:

  1. 點擊計算圖標計算在側邊欄。

  2. 單擊集群政策選項卡。

    集群政策選項卡圖片
  3. 選擇你想要編輯的政策。

  4. 點擊編輯

  5. 在定義選項卡中,編輯策略定義。

  6. 點擊更新

刪除一個集群政策使用UI

你刪除一個集群使用集群政策UI或政策集群政策API 2.0。刪除一個集群政策使用UI:

  1. 點擊計算圖標計算在側邊欄。

  2. 單擊集群政策選項卡。

    集群政策選項卡選擇
  3. 選擇您要刪除的政策。

  4. 點擊刪除

  5. 點擊刪除來確認。

集群策略定義

一個集群策略定義是一家集個人表達的策略定義JSON。

策略定義

一個策略定義之間的地圖嗎路徑字符串定義一個屬性和一個限製類型。每個屬性隻能有一個限製。一條路徑是特定類型的資源,反映了資源屬性名稱創建API。如果資源創建使用嵌套的屬性,使用點的路徑連接嵌套的屬性名稱。策略定義中定義的屬性不是無限當您創建一個集群使用的政策。

接口政策{(路徑:字符串]:PolicyElement}

策略元素

一個政策因素指定一個支持的限製類型在給定屬性,可以選擇一個默認值。您可以指定一個默認值沒有定義的屬性限製政策。

類型PolicyElement=FixedPolicy|ForbiddenPolicy|(LimitingPolicyBase&LimitingPolicy);類型LimitingPolicy=AllowlistPolicy|BlocklistPolicy|RegexPolicy|RangePolicy|UnlimitedPolicy;

本節描述該政策類型:

固定的政策

極限的值設置為指定的值。屬性值除了數字和布爾,該屬性的值必須為代表或可轉換為一個字符串。這個屬性可以隱藏在UI隱藏的國旗是現在和組真正的。一個固定的政策不能指定一個默認值。

接口FixedPolicy{類型:“固定”;值:字符串| |布爾;隱藏嗎?:布爾;}
例子
{“spark_version”:{“類型”:“固定”,“價值”:“7.3.x-scala2.12”,“隱藏”:真正的}}

被禁止的政策

對於一個可選屬性,防止使用的屬性。

接口ForbiddenPolicy{類型:“禁止”;}
例子

這一政策禁止連接池的集群。

{“instance_pool_id”:{“類型”:“禁止”}}

限製政策:共同的領域

在一個限製政策可以指定兩個額外的字段:

  • defaultValue——集群創建表單的值填充UI。

  • isOptional——限製政策屬性使其所需。可選屬性,設置isOptional場為true。

接口LimitedPolicyBase {defaultValue嗎?:字符串| |布爾;isOptional嗎?:布爾;}
例子
{“instance_pool_id”:{“類型”:“無限”,“isOptional”:真正的,“defaultValue”:“id1”}}

這個例子政策指定默認值id1池,但使其可選的。在創建集群時,您可以選擇一個不同的池或選擇不使用一個。

允許列表政策

允許的值的列表。

接口AllowlistPolicy{類型:“allowlist”;:(字符串|數量|布爾)[];}
例子
{“spark_version”:{“類型”:“allowlist”,“價值觀”:(“7.2.x-scala2.12”,“7.3.x-scala2.12”]}}

塊列表政策

不允許的值的列表。因為必須精確匹配的值,這一政策可能不會像預期的那樣工作屬性是如何寬容值時表示(例如允許首尾空格)。

接口BlocklistPolicy{類型:“過濾清單”;:(字符串|數量|布爾)[];}
例子
{“spark_version”:{“類型”:“過濾清單”,“價值觀”:(“4.0.x-scala2.11”]}}

正則表達式的政策

限製的匹配正則表達式的值。為安全起見,當匹配正則表達式總是固定在開始和結束的字符串值。

接口RegexPolicy{類型:“正則表達式”;模式:字符串;}
例子
{“spark_version”:{“類型”:“正則表達式”,“模式”:“5 \ \ [3456]。*”}}

政策範圍

限製指定的值的範圍minValuemaxValue屬性。的值必須是一個十進製數。必須可表示的數值範圍作為一個浮點值的兩倍。表明缺乏特定的限製,你可以省略的minValue,maxValue

接口RangePolicy{類型:“範圍”;minValue嗎?:數量;maxValue嗎?:數量;}
例子
{“num_workers”:{“類型”:“範圍”,“執行”:10}}

無限的政策

沒有定義值限製。你可以使用這個策略類型屬性要求或設置默認值在UI中。

接口UnlimitedPolicy{類型:“無限”;}
例子

需要添加COST_BUCKET標簽:

{“custom_tags.COST_BUCKET”:{“類型”:“無限”}}

設置默認值為一個火花配置變量,但也允許省略(刪除):

{“spark_conf.spark.my.conf”:{“類型”:“無限”,“isOptional”:真正的,“defaultValue”:“my_value”}}

集群政策屬性路徑

下表列出了支持集群政策屬性路徑。

集群政策虛擬屬性路徑

屬性路徑

類型

描述

dbus_per_hour

數量

計算屬性代表(最大的自動定量集群)DBU集群包括驅動節點的成本。使用範圍的限製。

cluster_type

字符串

代表可以創建集群的類型:

  • 通用磚通用的集群

  • 工作集群工作由作業調度器

  • dlt為集群為δ住表創建管道

允許或阻止創建指定類型的集群政策。如果通用價值是不允許的,政策是不顯示在通用集群創建表單。如果工作價值是不允許的,政策是工作中沒有顯示新的集群形式。

數組屬性

您可以指定數組屬性在兩個方麵:政策

  • 通用所有數組元素的限製。這些限製使用*通配符在政策路徑標誌。

  • 數組元素的具體限製在一個特定的索引。這些限製使用的路徑。

集群政策的例子

一般集群政策

通用的集群政策旨在引導用戶,限製一些功能,同時要求標簽,限製的最大實例數,和執行超時。

{“spark_conf.spark.databricks.cluster.profile”:{“類型”:“固定”,“價值”:“serverless”,“隱藏”:真正的},“instance_pool_id”:{“類型”:“禁止”,“隱藏”:真正的},“spark_version”:{“類型”:“正則表達式”,“模式”:“7 \ \ [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”:{“類型”:“固定”,“價值”:“產品”}}

簡單的中等規模的政策

允許用戶創建一個中等規模的集群以最小的配置。隻有在創建時必需字段集群名稱;其餘的是固定的和隱藏。

{“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”:{“類型”:“固定”,“價值”:“7.3.x-scala2.12”,“隱藏”:真正的},“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”:{“類型”:“正則表達式”,“模式”:“7 \ \ [0 - 9]+ \ \ .x-scala。*”},“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 >”}}