资源组属性
您可以格式化资源组 JSON 文件,使其与从控制台下载的资源组示例文件相匹配。
下面几节将介绍可以配置的资源组属性。
主要属性
属性名 | Type | 必需/可选 | 描述 |
---|---|---|---|
rootGroups |
Array | 必需 | 定义资源组的规格。 |
selectors |
Array | 必需 | 指定资源组的选择器配置。 |
cpuQuotaPeriod |
字符串 | 可选 | 指定 CPU 配额周期。 该属性必须与模式 ^\d+(.\d+)?[smhd]$ 匹配。 |
rootGroups
属性
属性名 | Type | 必需/可选 | 描述 |
---|---|---|---|
name |
字符串 | 必需 | 资源组的名称。 如果名称中包含 { 、} 或 $ ,则名称必须符合 ${([a-zA-Z][a-zA-Z0-9]*)} 模式。 名称中允许有空格。 名称中不能包含句点(.)。两个同胞组不能使用相同的名称。 根分组和子分组可以使用相同的名称。 |
softMemoryLimit |
字符串 | 必需 | 指定软内存限制。 最小值:0%。 最大值:999%。 |
maxQueued |
整数 | 可选 | 指定队列请求的最大数量。 最小值:0。 最大值:2147483647。 该值不得以 0 开头。 例如,01 、05 。指定值为 1 , 5 。只有 0 是一个有效值。 |
softConcurrencyLimit |
整数或空 | 可选 | 指定软并发限制。 最小值:0。 最大值:2147483647。 该值不得以 0 开头。 例如,01 、05 。指定值为 1 , 5 。只有 0 是一个有效值。 |
maxRunning |
整数或空 | 可选 | 指定最大运行次数。 最小值:0。 最大值:2147483647。 该值不得以 0 开头。 例如,01 、05 。指定值为 1 , 5 。只有 0 是一个有效值。 |
hardConcurrencyLimit |
整数 | 必须填写(如果 maxRunning 值可用,hardConcurrencyLimit 将占用该值。 如果未设置 maxRunning ,则必须为 hardConcurrencyLimit 设置值) |
指定硬并发限制。 最小值:0。 最大值:2147483647。 该值必须大于或等于 softConcurrencyLimit 。 不得以 0 开头。 例如,01 、05 。指定值为 1 , 5 。只有 0 是一个有效值。 |
schedulingPolicy |
字符串(以下是可用值:fair 、weighted 、weighted_fair 、query_priority 。这些值不区分大小写) |
可选 | 指定调度策略。 |
schedulingWeight |
整数或空 | 可选 | 指定调度权重。 允许值(从最小到最大):1 至 2147483647。 该值不得以 0 开头。 例如,01 、05 。指定值为 1 , 5 。只有 0 是一个有效值。 如果一个子组具有 schedulingWeight ,则该子组中所有相应的同级组都必须具有 schedulingWeight 。 |
subGroups |
数组或空 | 可选 | 指定资源组内的子组。 子组的不同属性规则与资源组相同。 |
jmxExport |
布尔值或空 | 可选 | 表示是否启用了 JMX 导出。 |
softCpuLimit |
字符串 | 可选 | 指定软 CPU 限制。 它必须与模式 ^\d+(.\d+)?[smhd]$ 匹配。 如果定义了 hardCpuLimit ,则 softCpuLimit 的值必须小于或等于 hardCpuLimit 。 |
hardCpuLimit |
字符串 | 可选 | 指定 CPU 硬限制。 它必须与模式 ^\d+(.\d+)?[smhd]$ 匹配。 |
perQueryLimits |
对象 | 可选 | 指定每次查询的限制。 Example: "perQueryLimits": { "executionTimeLimit": "30m", "totalMemoryLimit": "2GB", "cpuTimeLimit": "1h" } . 对象可以有以下一种、两种或三种限制。 以下任何限值都不允许使用负值。1.executionTimeLimit (类型:字符串,图案:该属性必须与模式 ^\d+(.\d+)?[smhd]$ 匹配),2. totalMemoryLimit (类型:字符串,图案:该属性必须与模式 ^\s*(\d+(?:.\d+)?)\s*([a-zA-Z]+)\s*$ 匹配),3.
cpuTimeLimit (类型:字符串,模式:该属性必须与模式 ^\d+(.\d+)?[smhd]$ 匹配) |
workersPerQueryLimit |
整数或空 | 可选 | 指定每次查询的工人数限制。 允许值(从最小到最大):-2147483648 至 2147483647。 该值必须大于或等于 softConcurrencyLimit 。 不得以 0 开头。 例如,01 、05 。指定值为 1 , 5 。只有 0 是一个有效值。 |
selectors
属性
属性名 | Type | 必需/可选 | 描述 |
---|---|---|---|
user |
字符串或空值(字符串可以使用任何有效的正则表达式(.* ) |
可选 | 指定用户 regex 模式。 |
source |
字符串或空值(字符串可以使用任何有效的正则表达式(.* ) |
可选 | 指定源 regex 模式。 |
queryType |
字符串或空。 (可能的值有 data_definition 、delete 、describe 、explain 、analyze 、insert 、select 、control 和 update 。 这些值不区分大小写) |
可选 | 指定查询类型。 |
clientTags |
字符串列表或 null(示例:"clientTags": ["resourceGroup1","resourceGroup2"] .storageStrings 可以包含任何有效的正则表达式(.* )) |
可选 | 指定客户端标记。 |
selectorResourceEstimate |
对象或空 | 可选 | 指定选择器资源估算值。 示例:"selectorResourceEstimate": {"executionTime": {"min": "5m", "max": "10m"}, "cpuTime": {"min": "30m", "max": "1h"}, "peakMemory": {"min": "512MB", "max": "2GB"}} .
对象可以有一个、两个或三个限制。 您也可以使用 min 、max 或两个参数来设置所有三个限制。 例如,"selectorResourceEstimate": {"executionTime": {"min": "5m"} 。 任何限值都不允许出现负值。 有关限制的更多信息,请参阅 selectorResourceEstimate limits。 |
clientInfo |
字符串或空值(字符串可以使用任何有效的正则表达式(.* ) |
可选 | 指定客户信息 regex 模式。 |
schema |
字符串或空值(字符串可以使用任何有效的正则表达式(.* ) |
可选 | 指定模式。 |
principal |
字符串或空值(字符串可以使用任何有效的正则表达式(.* ) |
可选 | 指定主 regex 模式。 |
group |
字符串 | 必需 | 组名称必须来自资源组中的可用名称。 要重定向到子组,请使用 "group": "groupname.subgroupname" 。 您还可以在根组名称中使用动态值,如 ${SOURCE} 、${USER} 和 ${SCHEMA} 。 您不能在 group 中使用 null 。 |
在 source
和 user
regex 中,您可以使用所提供的格式为 (?<sampleName>.*)
的名称作为动态组名。 例如:
{
"source": "(?<sampleName>.*)",
"clientTags": [
"hipri"
],
"group": "bi-${sampleName}"
}and there is a group as ,{
"name": "bi-${sampleName}",
"softMemoryLimit": "80%",
"hardConcurrencyLimit": 100,
"maxQueued": 1000,
"schedulingPolicy": "weighted",
"jmxExport": true
}
在本例中,sampleName
是一个动态值。 名称中不允许使用特殊字符。 您可以添加其他值,如 ${SOURCE}
、${USER}
或 ${SCHEMA}
。 组名区分大小写。 您可以在动态变量之前和之后设置值。 例如,abc-${SOURCE}
或 ${toolname}-xyz
。
selectorResourceEstimate
限制
-
executionTime
min
: 属性类型为字符串。 该属性必须与^\\d+(\\.\\d+)?[smhd]$
模式匹配。max
: 属性类型为字符串。 该属性必须与^\\d+(\\.\\d+)?[smhd]$
模式匹配。
-
peakMemory
min
: 属性类型为字符串。 该属性必须与^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$
模式匹配。max
属性类型为字符串。 该属性必须与^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$
模式匹配。
-
cpuTime
min
: 属性类型为字符串。 该属性必须与^\\d+(\\.\\d+)?[smhd]$
模式匹配。max
: 属性类型为字符串。 该属性必须与^\\d+(\\.\\d+)?[smhd]$
模式匹配。
cpuQuotaPeriod
属性
属性名 | Type | 必需/可选 | 描述 |
---|---|---|---|
cpuQuotaPeriod | 字符串 | 可选 | 指定 CPU 配额周期。 该属性必须与模式 ^\d+(\.\d+)?[smhd]$ 匹配 |