資源組屬性
您可以設定資源群組 JSON 檔案的格式,使其與可從控制台下載的範例資源群組檔案相符。
以下部分介紹了您可以設定的資源組屬性。
主要內容
| 內容名稱 | 類型 | 必要/選用 | 說明 |
|---|---|---|---|
rootGroups |
陣列 | 必要 | 定義資源組的規範。 |
selectors |
陣列 | 必要 | 指定資源組的選擇器配置。 |
cpuQuotaPeriod |
字串 | 選用 | 指定CPU配額期限。 此屬性必須與模式 ^\d+(.\d+)?[smhd]$ 相符。 |
rootGroups 內容
| 內容名稱 | 類型 | 必要/選用 | 說明 |
|---|---|---|---|
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 |
物件 | 選用 | 指定每個查詢的限制。 例:"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 內容
| 內容名稱 | 類型 | 必要/選用 | 說明 |
|---|---|---|---|
user |
字串或 null(字串可以具有任何有效的正規表示式 ( .* )。) |
選用 | 指定使用者正規表示式模式。 |
source |
字串或 null(字串可以具有任何有效的正規表示式 ( .* )。) |
選用 | 指定來源正規表示式模式。 |
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 限制。 |
clientInfo |
字串或 null(字串可以具有任何有效的正規表示式 ( .* )。) |
選用 | 指定客戶端資訊正規表示式模式。 |
schema |
字串或 null(字串可以具有任何有效的正規表示式 ( .* )。) |
選用 | 指定架構。 |
principal |
字串或 null(字串可以具有任何有效的正規表示式 ( .* )。) |
選用 | 指定主要正規表示式模式。 |
group |
字串 | 必要 | 群組名稱必須來自資源群組中的可用名稱。 若要重定向到子群組,請使用 "group": "groupname.subgroupname"。 您也可以使用根組名稱中使用的動態值,如 ${SOURCE}、${USER} 和 ${SCHEMA}。 group 中不能有 null。 |
在 source 和 user 正規表示式中,您可以使用 (?<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 限制
-
executionTimemin: 屬性類型是字串。 此屬性必須與模式^\\d+(\\.\\d+)?[smhd]$相符。max: 屬性類型是字串。 此屬性必須與模式^\\d+(\\.\\d+)?[smhd]$相符。
-
peakMemorymin: 屬性類型是字串。 此屬性必須與模式^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$相符。max屬性類型是字串。 此屬性必須與模式^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$相符。
-
cpuTimemin: 屬性類型是字串。 此屬性必須與模式^\\d+(\\.\\d+)?[smhd]$相符。max: 屬性類型是字串。 此屬性必須與模式^\\d+(\\.\\d+)?[smhd]$相符。
cpuQuotaPeriod 內容
| 內容名稱 | 類型 | 必要/選用 | 說明 |
|---|---|---|---|
| cpuQuotaPeriod | 字串 | 選用 | 指定CPU配額期限。 該屬性必須與模式 ^\d+(\.\d+)?[smhd]$ 匹配 |