Proprietà del gruppo di risorse

È possibile formattare il file JSON del gruppo di risorse in modo che corrisponda al file del gruppo di risorse di esempio che si può scaricare dalla console.

Le sezioni seguenti illustrano le proprietà del gruppo di risorse che è possibile configurare.

Proprietà principali

Proprietà principali
Nome proprietà Immettere Obbligatorio/Facoltativo Descrizione
rootGroups Array Obbligatorio Definisce le specifiche dei gruppi di risorse.
selectors Array Obbligatorio Specifica le configurazioni dei selettori per i gruppi di risorse.
cpuQuotaPeriod Stringa Facoltativo Specifica il periodo della quota CPU. Questa proprietà deve corrispondere al modello ^\d+(.\d+)?[smhd]$.

rootGroups proprietà

proprietà dirootGroups
Nome proprietà Immettere Obbligatorio/Facoltativo Descrizione
name Stringa Obbligatorio Nome del gruppo di risorse. Se il nome contiene {, } o $, il nome deve essere nello schema ${([a-zA-Z][a-zA-Z0-9]*)}. Sono ammessi spazi vuoti nel nome. Il nome non può contenere un punto (.). Non è possibile avere lo stesso nome per due gruppi fratelli. È possibile avere lo stesso nome per un gruppo principale e per un sottogruppo.
softMemoryLimit Stringa Obbligatorio Specifica il limite di memoria soft. Valore minimo: 0%. Valore massimo: 999%.
maxQueued Numero intero Facoltativo Specifica il numero massimo di richieste in coda. Valore minimo: 0. Valore massimo: 2147483647. Il valore non deve iniziare con 0. Ad esempio, 01, 05. Specificare i valori come 1, 5. Il solo 0 è un valore valido.
softConcurrencyLimit Intero o nullo Facoltativo Specifica il limite di concorrenza soft. Valore minimo: 0. Valore massimo: 2147483647. Il valore non deve iniziare con 0. Ad esempio, 01, 05. Specificare i valori come 1, 5. Il solo 0 è un valore valido.
maxRunning Intero o nullo Facoltativo Specifica il conteggio massimo di funzionamento. Valore minimo: 0. Valore massimo: 2147483647. Il valore non deve iniziare con 0. Ad esempio, 01, 05. Specificare i valori come 1, 5. Il solo 0 è un valore valido.
hardConcurrencyLimit Numero intero Richiesto (se il valore maxRunning è disponibile, hardConcurrencyLimit lo assume. Se maxRunning non è impostato, è necessario impostare un valore per hardConcurrencyLimit) Specifica il limite di concorrenza rigido. Valore minimo: 0. Valore massimo: 2147483647. Il valore deve essere maggiore o uguale a softConcurrencyLimit. Non deve iniziare con 0. Ad esempio, 01, 05. Specificare i valori come 1, 5. Il solo 0 è un valore valido.
schedulingPolicy Stringa (I valori disponibili sono i seguenti: fair, weighted, weighted_fair, query_priority. Questi valori non sono sensibili alle maiuscole e alle minuscole) Facoltativo Specifica il criterio di pianificazione.
schedulingWeight Intero o nullo Facoltativo Specifica il peso di pianificazione. Valori ammessi (da minimo a massimo): Da 1 a 2147483647. Il valore non deve iniziare con 0. Ad esempio, 01, 05. Specificare i valori come 1, 5. Il solo 0 è un valore valido. Se un sottogruppo ha schedulingWeight, tutti i fratelli corrispondenti in quel sottogruppo devono avere schedulingWeight.
subGroups Array o null Facoltativo Specifica i sottogruppi all'interno del gruppo di risorse. I sottogruppi hanno le stesse regole per le diverse proprietà del gruppo di risorse.
jmxExport Booleano o nullo Facoltativo Indica se l'esportazione JMX è abilitata.
softCpuLimit Stringa Facoltativo Specifica il limite soft della CPU. Deve corrispondere allo schema ^\d+(.\d+)?[smhd]$. Se viene definito hardCpuLimit, il valore di softCpuLimit deve essere minore o uguale a hardCpuLimit.
hardCpuLimit Stringa Facoltativo Specifica il limite rigido della CPU. Deve corrispondere allo schema ^\d+(.\d+)?[smhd]$.
perQueryLimits Oggetto Facoltativo Specifica i limiti per le query. Esempio: "perQueryLimits": { "executionTimeLimit": "30m", "totalMemoryLimit": "2GB", "cpuTimeLimit": "1h" }. L'oggetto può avere uno, due o tre dei seguenti limiti. I valori negativi non sono ammessi per nessuno dei seguenti limiti. 1. executionTimeLimit (Type: Stringa, Pattern: Questa proprietà deve corrispondere allo schema ^\d+(.\d+)?[smhd]$.), 2. totalMemoryLimit (Type: Stringa, Pattern: Questa proprietà deve corrispondere al pattern ^\s*(\d+(?:.\d+)?)\s*([a-zA-Z]+)\s*$.), 3. cpuTimeLimit (Type: Stringa, Pattern: Questa proprietà deve corrispondere al pattern ^\d+(.\d+)?[smhd]$)
workersPerQueryLimit Intero o nullo Facoltativo Specifica il limite di lavoratori per query. Valori ammessi (da un minimo a un massimo): -2147483648 a 2147483647. Il valore deve essere maggiore o uguale a softConcurrencyLimit. Non deve iniziare con 0. Ad esempio, 01, 05. Specificare i valori come 1, 5. Il solo 0 è un valore valido.

selectors proprietà

proprietà dei selettori
Nome proprietà Immettere Obbligatorio/Facoltativo Descrizione
user Stringa o null (le stringhe possono avere qualsiasi espressione regolare valida (.*) Facoltativo Specifica il modello regex dell'utente.
source Stringa o null (le stringhe possono avere qualsiasi espressione regolare valida (.*) Facoltativo Specifica il modello regex di origine.
queryType Stringa o null. (I valori possibili sono data_definition, delete, describe, explain, analyze, insert, select, control e update). Questi valori non sono sensibili alle maiuscole e alle minuscole) Facoltativo Specifica il tipo di query.
clientTags Elenco di stringhe o null (esempio: "clientTags": ["resourceGroup1","resourceGroup2"]. storageStrings può avere qualsiasi espressione regolare valida (.*) Facoltativo Specifica i tag del client.
selectorResourceEstimate Oggetto o null Facoltativo Specifica la stima della risorsa del selettore. Esempio: "selectorResourceEstimate": {"executionTime": {"min": "5m", "max": "10m"}, "cpuTime": {"min": "30m", "max": "1h"}, "peakMemory": {"min": "512MB", "max": "2GB"}}. L'oggetto può avere uno, due o tre limiti. È anche possibile utilizzare i parametri min, max o entrambi per tutti e tre i limiti. Ad esempio, "selectorResourceEstimate": {"executionTime": {"min": "5m"}. I valori negativi non sono ammessi per nessuno dei limiti. Per ulteriori informazioni sui limiti, vedere selectorResourceEstimate limiti.
clientInfo Stringa o null (le stringhe possono avere qualsiasi espressione regolare valida (.*) Facoltativo Specifica il modello regex delle informazioni sul client.
schema Stringa o null (le stringhe possono avere qualsiasi espressione regolare valida (.*) Facoltativo Specifica lo schema.
principal Stringa o null (le stringhe possono avere qualsiasi espressione regolare valida (.*) Facoltativo Specifica il modello regex principale.
group Stringa Obbligatorio Il nome del gruppo deve essere tra quelli disponibili nel gruppo di risorse. Per il reindirizzamento a un sottogruppo, utilizzare "group": "groupname.subgroupname". Si possono anche usare valori dinamici come ${SOURCE}, ${USER} e ${SCHEMA}, usati nei nomi dei gruppi radice. Non è possibile avere null in group.

Nelle regex source e user, è possibile utilizzare il nome fornito nel formato (?<sampleName>.*) come nome di gruppo dinamico. Ad esempio:

{
            "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
}

In questo esempio, sampleName è un valore dinamico. I caratteri speciali non sono ammessi nel nome. È possibile aggiungere altri valori come ${SOURCE}, ${USER} o ${SCHEMA}. Il nome del gruppo è sensibile alle maiuscole. È possibile avere valori prima e dopo la variabile dinamica. Ad esempio, abc-${SOURCE} o ${toolname}-xyz.

selectorResourceEstimate limiti

  • executionTime

    • min: Il tipo di proprietà è stringa. Questa proprietà deve corrispondere al modello ^\\d+(\\.\\d+)?[smhd]$.
    • max: Il tipo di proprietà è stringa. Questa proprietà deve corrispondere al modello ^\\d+(\\.\\d+)?[smhd]$.
  • peakMemory

    • min: Il tipo di proprietà è stringa. Questa proprietà deve corrispondere al modello ^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$.
    • max Il tipo di proprietà è stringa. Questa proprietà deve corrispondere al modello ^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$.
  • cpuTime

    • min: Il tipo di proprietà è stringa. Questa proprietà deve corrispondere al modello ^\\d+(\\.\\d+)?[smhd]$.
    • max: Il tipo di proprietà è stringa. Questa proprietà deve corrispondere al modello ^\\d+(\\.\\d+)?[smhd]$.

cpuQuotaPeriod proprietà

proprietà dei selettori
Nome proprietà Immettere Obbligatorio/Facoltativo Descrizione
cpuQuotaPeriod Stringa Facoltativo Specifica il periodo della quota CPU. Questa proprietà deve corrispondere al modello ^\d+(\.\d+)?[smhd]$