管理集群策略
预览
此功能已在公共预览.
集群策略限制为配置集群基于一组规则。策略规则限制用于创建集群的属性或属性值。集群策略具有acl,将其限制为特定用户和组的使用。
集群策略让你:
限制用户创建指定设置的集群。
简化用户界面,允许更多用户创建自己的集群(通过修复和隐藏一些值)。
通过限制每个集群的最大成本来控制成本(通过设置对每小时价格有贡献的属性的限制)。
有关集群策略和配置建议的介绍,请查看Databricks集群策略视频:
集群策略权限限制用户可以在中选择哪些策略政策下拉:
请注意
如果没有政策在工作区中创建,“策略”下拉框不显示。
只有admin用户可以创建、编辑和删除策略。管理员用户也可以访问所有的策略。
本文侧重于使用UI管理策略。你也可以使用集群策略API 2.0和权限API 2.0管理策略。
个人电脑策略
个人计算是Databricks管理的集群策略,默认情况下,在所有Databricks工作空间上可用。允许用户访问此策略可以使他们在Databricks中创建单机计算资源以供个人使用。
管理员可以管理访问而且自定义策略规则以满足他们工作空间的需要。
需求
集群策略要求Databricks高级计划.
施行细则
在策略规则中可以表达以下类型的约束:
固定值与禁用的控制元素
固定值,控件隐藏在UI中(值在JSON视图中可见)
属性值限定为一组值(允许列表或阻止列表)
匹配给定正则表达式的属性值
数字属性限定在一定范围内
启用控件时UI使用的默认值
托管集群属性
集群策略支持所有集群属性由集群API 2.0.支持的限制的具体类型可能因字段而异(基于它们的类型和与集群表单UI元素的关系)。
此外,集群策略还支持以下功能合成属性:
“最大dbu小时”指标,这是集群每小时可以使用的最大DBUs。这个指标是在单个集群级别控制成本的直接方法。
对创建集群的源的限制:作业服务(作业集群)、集群UI、集群REST API(通用集群)。
定义集群策略
类中定义集群策略JSON策略定义,在创建集群策略时添加。
创建集群策略
可以使用集群策略UI或集群策略API 2.0.使用实例创建集群策略。
克隆现有集群策略
通过克隆已有的集群策略,可以创建新的集群策略。使用实例克隆集群策略。
点击计算在侧栏中。
单击政策选项卡。
选择需要克隆的策略。
点击克隆.
在下一页中,所有字段都预先填充了来自现有策略的值。更改要修改的字段的值,然后单击创建.
管理集群策略权限
根据定义,管理员拥有所有策略的权限。集群策略权限管理可通过集群策略界面或权限API 2.0.
通过界面编辑集群策略
可以使用集群策略UI或集群策略API 2.0.使用实例编辑集群策略。
点击计算在侧栏中。
单击集群政策选项卡。
选择要编辑的策略。
点击编辑.
在Definition选项卡中,编辑策略定义。
点击更新.
该任务指导系统管理员通过界面删除集群策略
删除集群策略可通过集群策略界面或集群策略API 2.0.使用实例删除集群策略。
点击计算在侧栏中。
单击集群政策选项卡。
选择需要删除的策略。
点击删除.
点击删除来确认。
集群策略族
创建集群策略时,可以选择使用策略族。策略族为常见计算用例提供预填充的策略规则。例如,有一个个人计算策略系列,您可以在其中基于个人计算策略构建自定义策略。
使用策略族时,策略的规则继承自策略族。选择策略族后,可以按原样创建策略,也可以选择添加规则或覆盖给定的规则。
集群策略定义
一个集群策略定义是用JSON表示的单个策略定义的集合。
本节:
策略定义
一个策略定义是地图之间定义属性的路径字符串和一个限制类型.每个属性只能有一个限制。路径特定于资源类型,并反映资源创建API属性名称。如果资源创建使用嵌套属性,路径将使用点连接嵌套属性名。使用策略创建集群时,策略定义中未定义的属性是无限制的。
接口政策{[路径:字符串]:PolicyElement}
策略元素
一个政策因素指定给定属性上受支持的一种限制类型,还可以指定默认值。可以指定默认值,而无需在策略中定义属性限制。
类型PolicyElement=FixedPolicy|ForbiddenPolicy|(LimitingPolicyBase&LimitingPolicy);类型LimitingPolicy=AllowlistPolicy|BlocklistPolicy|RegexPolicy|RangePolicy|UnlimitedPolicy;
介绍策略类型:
固定的政策
将值限制为指定的值。对于非数值和布尔值的属性值,属性值必须用字符串表示或转换为字符串。属性可选地隐藏在UI中隐藏的
标志存在并设置为真正的
.固定策略不能指定缺省值。
interface FixedPolicy{类型:“固定”;值:字符串|数字| boolean;隐藏吗?:布尔;}
限制策略:常用字段
在限制策略中,您可以指定两个附加字段:
defaultValue
-在UI中填充集群创建表单的值。isOptional
-对某个属性的限制策略使其成为必需。属性可选isOptional
字段为true。
interface LimitedPolicyBase {defaultValue?: string | number | boolean;isOptional吗?:布尔;}
块列表策略
不允许的值列表。由于值必须精确匹配,当属性在值的表示方式上过于宽松(例如允许前导和尾随空格)时,此策略可能无法按预期工作。
接口BlocklistPolicy{类型:“过滤清单”;值:(字符串|数量|布尔) [];}
政策范围
属性指定的范围内限制该值minValue
而且maxValue
属性。取值必须为十进制数。数值限制必须可表示为双浮点值。为了表示缺少特定的限制,可以省略其中之一minValue
,maxValue
.
interface RangePolicy{类型:“范围”;minValue吗?:数量;maxValue吗?:数量;}
集群策略属性路径
下表列出了支持的集群策略属性路径。
集群策略虚拟属性路径
属性路径 |
类型 |
描述 |
---|---|---|
|
数量 |
计算属性,表示包括驱动程序节点在内的集群的DBU成本(在自动伸缩集群的情况下为最大值)。适用范围有限。 |
|
字符串 |
表示可以创建的集群类型:
允许或阻止从策略创建指定类型的集群。如果 |
集群策略示例
一般集群策略
一种通用的集群策略,用于指导用户并限制某些功能,同时要求标记、限制最大实例数和强制超时。
{“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的集群。这对于允许用户创建自己的集群而不需要额外配置非常有用。
{“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 >”}}