IBM Cloud Docs
资源组属性

资源组属性

您可以格式化资源组 JSON 文件,使其与从控制台下载的资源组示例文件相匹配。

下面几节将介绍可以配置的资源组属性。

主要属性

主要属性
属性名 Type 必需/可选 描述
rootGroups Array 必需 定义资源组的规格。
selectors Array 必需 指定资源组的选择器配置。
cpuQuotaPeriod 字符串 可选 指定 CPU 配额周期。 该属性必须与模式 ^\d+(.\d+)?[smhd]$ 匹配。

rootGroups 属性

rootGroups属性
属性名 Type 必需/可选 描述
name 字符串 必需 资源组的名称。 如果名称中包含 {}$,则名称必须符合 ${([a-zA-Z][a-zA-Z0-9]*)} 模式。 名称中允许有空格。 名称中不能包含句点(.)。两个同胞组不能使用相同的名称。 根分组和子分组可以使用相同的名称。
softMemoryLimit 字符串 必需 指定软内存限制。 最小值:0%。 最大值:999%。
maxQueued 整数 可选 指定队列请求的最大数量。 最小值:0。 最大值:2147483647。 该值不得以 0 开头。 例如,0105。指定值为 1, 5。只有 0 是一个有效值。
softConcurrencyLimit 整数或空 可选 指定软并发限制。 最小值:0。 最大值:2147483647。 该值不得以 0 开头。 例如,0105。指定值为 1, 5。只有 0 是一个有效值。
maxRunning 整数或空 可选 指定最大运行次数。 最小值:0。 最大值:2147483647。 该值不得以 0 开头。 例如,0105。指定值为 1, 5。只有 0 是一个有效值。
hardConcurrencyLimit 整数 必须填写(如果 maxRunning 值可用,hardConcurrencyLimit 将占用该值。 如果未设置 maxRunning,则必须为 hardConcurrencyLimit 设置值) 指定硬并发限制。 最小值:0。 最大值:2147483647。 该值必须大于或等于 softConcurrencyLimit。 不得以 0 开头。 例如,0105。指定值为 1, 5。只有 0 是一个有效值。
schedulingPolicy 字符串(以下是可用值:fairweightedweighted_fairquery_priority。这些值不区分大小写) 可选 指定调度策略。
schedulingWeight 整数或空 可选 指定调度权重。 允许值(从最小到最大):1 至 2147483647。 该值不得以 0 开头。 例如,0105。指定值为 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 开头。 例如,0105。指定值为 1, 5。只有 0 是一个有效值。

selectors 属性

选择器属性
属性名 Type 必需/可选 描述
user 字符串或空值(字符串可以使用任何有效的正则表达式(.* 可选 指定用户 regex 模式。
source 字符串或空值(字符串可以使用任何有效的正则表达式(.* 可选 指定源 regex 模式。
queryType 字符串或空。 (可能的值有 data_definitiondeletedescribeexplainanalyzeinsertselectcontrolupdate。 这些值不区分大小写) 可选 指定查询类型。
clientTags 字符串列表或 null(示例:"clientTags": ["resourceGroup1","resourceGroup2"].storageStrings 可以包含任何有效的正则表达式(.*)) 可选 指定客户端标记。
selectorResourceEstimate 对象或空 可选 指定选择器资源估算值。 示例:"selectorResourceEstimate": {"executionTime": {"min": "5m", "max": "10m"}, "cpuTime": {"min": "30m", "max": "1h"}, "peakMemory": {"min": "512MB", "max": "2GB"}}. 对象可以有一个、两个或三个限制。 您也可以使用 minmax 或两个参数来设置所有三个限制。 例如,"selectorResourceEstimate": {"executionTime": {"min": "5m"}。 任何限值都不允许出现负值。 有关限制的更多信息,请参阅 selectorResourceEstimate limits
clientInfo 字符串或空值(字符串可以使用任何有效的正则表达式(.* 可选 指定客户信息 regex 模式。
schema 字符串或空值(字符串可以使用任何有效的正则表达式(.* 可选 指定模式。
principal 字符串或空值(字符串可以使用任何有效的正则表达式(.* 可选 指定主 regex 模式。
group 字符串 必需 组名称必须来自资源组中的可用名称。 要重定向到子组,请使用 "group": "groupname.subgroupname"。 您还可以在根组名称中使用动态值,如 ${SOURCE}${USER}${SCHEMA}。 您不能在 group 中使用 null

sourceuser 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]$ 匹配