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

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

propriétés derootGroups
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

propriétés des sélecteurs
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

  • executionTime

    • min: 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]$.
  • peakMemory

    • min: 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*$.
    • max 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*$.
  • cpuTime

    • min: 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

propriétés des sélecteurs
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]$