Propriétés du groupe de ressources
Vous pouvez formater le fichier JSON du groupe de ressources pour qu'il corresponde à l'exemple de fichier de groupe de ressources que vous pouvez télécharger à partir de la console.
Les sections suivantes décrivent les propriétés des groupes de ressources que vous pouvez configurer.
Propriétés principales
| Nom de propriété | Type | Obligatoire / Facultatif | Description |
|---|---|---|---|
rootGroups |
Tableau | Obligatoire | Définit les spécifications des groupes de ressources. |
selectors |
Tableau | Obligatoire | Spécifie les configurations des sélecteurs pour les groupes de ressources. |
cpuQuotaPeriod |
Chaîne | Facultatif | Spécifie la période de quota de CPU. Cette propriété doit correspondre au modèle ^\d+(.\d+)?[smhd]$. |
rootGroups propriétés
| Nom de propriété | Type | Obligatoire / Facultatif | Description |
|---|---|---|---|
name |
Chaîne | Obligatoire | Nom du groupe de ressources. Si le nom contient {, } ou $, le nom doit être dans le modèle ${([a-zA-Z][a-zA-Z0-9]*)}. Les espaces vides sont autorisés dans le nom. Le nom ne peut pas
contenir de point (.). Vous ne pouvez pas avoir le même nom pour deux groupes de frères et sœurs. Vous pouvez avoir le même nom pour un groupe racine et un sous-groupe. |
softMemoryLimit |
Chaîne | Obligatoire | Spécifie la limite de la mémoire douce. Valeur minimale : 0 %. Valeur maximale : 999%. |
maxQueued |
Entier | Facultatif | Spécifie le nombre maximum de demandes en file d'attente. Valeur minimale : 0. Valeur maximale : 2147483647. La valeur ne doit pas commencer par 0. Par exemple, 01, 05. Spécifiez les valeurs comme
1, 5. Seule la valeur 0 est valide. |
softConcurrencyLimit |
Entier ou null | Facultatif | Spécifie la limite de concurrence douce. Valeur minimale : 0. Valeur maximale : 2147483647. La valeur ne doit pas commencer par 0. Par exemple, 01, 05. Spécifiez les valeurs comme 1,
5. Seule la valeur 0 est valide. |
maxRunning |
Entier ou null | Facultatif | Spécifie le nombre maximum de passages. Valeur minimale : 0. Valeur maximale : 2147483647. La valeur ne doit pas commencer par 0. Par exemple, 01, 05. Spécifiez les valeurs comme 1, 5.
Seule la valeur 0 est valide. |
hardConcurrencyLimit |
Entier | Obligatoire (Si la valeur maxRunning est disponible, hardConcurrencyLimit prend cette valeur. Si maxRunning n'est pas défini, vous devez définir une valeur pour hardConcurrencyLimit.) |
Spécifie la limite de concurrence dure. Valeur minimale : 0. Valeur maximale : 2147483647. La valeur doit être supérieure ou égale à softConcurrencyLimit Il ne doit pas commencer par 0. Par exemple, 01,
05. Spécifiez les valeurs comme 1, 5. Seule la valeur 0 est valide. |
schedulingPolicy |
Chaîne (Les valeurs suivantes sont disponibles : fair, weighted, weighted_fair, query_priority. Ces valeurs ne sont pas sensibles à la casse) |
Facultatif | Spécifie la politique d'ordonnancement. |
schedulingWeight |
Entier ou null | Facultatif | Spécifie le poids de l'ordonnancement. Valeurs autorisées (du minimum au maximum): 1 à 2147483647. La valeur ne doit pas commencer par 0. Par exemple, 01, 05. Spécifiez les valeurs comme 1,
5. Seule la valeur 0 est valide. Si un sous-groupe a schedulingWeight, tous les frères et sœurs correspondants de ce sous-groupe doivent avoir schedulingWeight. |
subGroups |
Tableau ou null | Facultatif | Spécifie les sous-groupes au sein du groupe de ressources. Les sous-groupes ont les mêmes règles pour les différentes propriétés que le groupe de ressources. |
jmxExport |
Booléen ou nul | Facultatif | Indique si l'exportation JMX est activée. |
softCpuLimit |
Chaîne | Facultatif | Spécifie la limite souple de l'unité centrale. Il doit correspondre au modèle ^\d+(.\d+)?[smhd]$. Si hardCpuLimit est défini, la valeur de softCpuLimit doit être inférieure ou égale à hardCpuLimit. |
hardCpuLimit |
Chaîne | Facultatif | Spécifie la limite dure de l'unité centrale. Il doit correspondre au modèle ^\d+(.\d+)?[smhd]$. |
perQueryLimits |
Objet | Facultatif | Spécifie les limites par requête. Exemple : "perQueryLimits": { "executionTimeLimit": "30m", "totalMemoryLimit": "2GB", "cpuTimeLimit": "1h" }. L'objet
peut avoir une, deux ou trois des limites suivantes. Les valeurs négatives ne sont pas autorisées pour les limites suivantes. 1. executionTimeLimit (Type: Chaîne, Motif: Cette propriété
doit correspondre au motif ^\d+(.\d+)?[smhd]$.), 2. totalMemoryLimit (Type: Chaîne, Motif: Cette propriété doit correspondre au motif ^\s*(\d+(?:.\d+)?)\s*([a-zA-Z]+)\s*$.),
3. cpuTimeLimit (Type: String, Pattern: Cette propriété doit correspondre au motif ^\d+(.\d+)?[smhd]$.) |
workersPerQueryLimit |
Entier ou null | Facultatif | Spécifie la limite de travailleurs par requête. Valeurs autorisées (du minimum au maximum): -2147483648 à 2147483647. La valeur doit être supérieure ou égale à softConcurrencyLimit Il ne doit pas commencer par 0.
Par exemple, 01, 05. Spécifiez les valeurs comme 1, 5. Seule la valeur 0 est valide. |
selectors propriétés
| Nom de propriété | Type | Obligatoire / Facultatif | Description |
|---|---|---|---|
user |
Chaîne ou null (les chaînes peuvent contenir n'importe quelle expression régulière valide (.*)) |
Facultatif | Spécifie le motif de l'expression rationnelle de l'utilisateur. |
source |
Chaîne ou null (les chaînes peuvent contenir n'importe quelle expression régulière valide (.*)) |
Facultatif | Spécifie le modèle de regex source. |
queryType |
Chaîne ou null. (Les valeurs possibles sont data_definition, delete, describe, explain, analyze, insert, select, control et update).
Ces valeurs ne sont pas sensibles à la casse) |
Facultatif | Spécifie le type de requête. |
clientTags |
Liste de chaînes de caractères ou null (Exemple : "clientTags": ["resourceGroup1","resourceGroup2"]. storageStrings peut contenir n'importe quelle expression régulière valide (.*) |
Facultatif | Spécifie les balises du client. |
selectorResourceEstimate |
Objet ou null | Facultatif | Spécifie l'estimation des ressources du sélecteur. Exemple : "selectorResourceEstimate": {"executionTime": {"min": "5m", "max": "10m"}, "cpuTime": {"min": "30m", "max": "1h"}, "peakMemory": {"min": "512MB", "max": "2GB"}}.
L'objet peut avoir une, deux ou trois de ces limites. Vous pouvez également utiliser les paramètres min, max ou les deux pour les trois limites. Par exemple, "selectorResourceEstimate": {"executionTime": {"min": "5m"}.
Les valeurs négatives ne sont autorisées pour aucune des limites. Pour plus d'informations sur les limites, voir selectorResourceEstimate limites. |
clientInfo |
Chaîne ou null (les chaînes peuvent contenir n'importe quelle expression régulière valide (.*)) |
Facultatif | Spécifie le motif regex de l'information sur le client. |
schema |
Chaîne ou null (les chaînes peuvent contenir n'importe quelle expression régulière valide (.*)) |
Facultatif | Spécifie le schéma. |
principal |
Chaîne ou null (les chaînes peuvent contenir n'importe quelle expression régulière valide (.*)) |
Facultatif | Spécifie le motif principal de l'expression rationnelle. |
group |
Chaîne | Obligatoire | Le nom du groupe doit figurer parmi les noms disponibles dans le groupe de ressources. Pour rediriger vers un sous-groupe, utilisez "group": "groupname.subgroupname". Vous pouvez également utiliser des
valeurs dynamiques telles que ${SOURCE}, ${USER} et ${SCHEMA} dans les noms de groupes racines. Vous ne pouvez pas avoir null dans group. |
Dans les expressions rationnelles source et user, vous pouvez utiliser le nom fourni au format (?<sampleName>.*) comme nom de groupe dynamique. Exemple :
{
"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
}
Dans cet exemple, sampleName est une valeur dynamique. Les caractères spéciaux ne sont pas autorisés dans le nom. Vous pouvez ajouter d'autres valeurs comme ${SOURCE}, ${USER}, ou ${SCHEMA}.
Le nom du groupe est sensible à la casse. Vous pouvez avoir des valeurs avant et après la variable dynamique. Par exemple, abc-${SOURCE} ou ${toolname}-xyz.
selectorResourceEstimate limites
-
executionTimemin: Le type de propriété est une chaîne de caractères. Cette propriété doit correspondre au modèle^\\d+(\\.\\d+)?[smhd]$.max: Le type de propriété est une chaîne de caractères. Cette propriété doit correspondre au modèle^\\d+(\\.\\d+)?[smhd]$.
-
peakMemorymin: Le type de propriété est une chaîne de caractères. Cette propriété doit correspondre au modèle^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$.maxLe type de propriété est une chaîne de caractères. Cette propriété doit correspondre au modèle^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$.
-
cpuTimemin: Le type de propriété est une chaîne de caractères. Cette propriété doit correspondre au modèle^\\d+(\\.\\d+)?[smhd]$.max: Le type de propriété est une chaîne de caractères. Cette propriété doit correspondre au modèle^\\d+(\\.\\d+)?[smhd]$.
cpuQuotaPeriod propriétés
| Nom de propriété | Type | Obligatoire / Facultatif | Description |
|---|---|---|---|
| cpuQuotaPeriod | Chaîne | Facultatif | Spécifie la période de quota de CPU. Cette propriété doit correspondre au modèle ^\d+(\.\d+)?[smhd]$ |