Configuration de la gestion de la charge de travail - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration de la gestion de la charge de travail

Dans Amazon Redshift, vous utilisez la gestion de l'application (WLM) pour définir le nombre de files d'attente de requêtes qui sont disponibles, ainsi que le nombre de requêtes acheminées vers ces files d'attente en vue de leur traitement. WLM fait partie de la configuration du groupe de paramètres. Un cluster utilise la configuration WLM spécifiée dans son groupe de paramètres associé.

Lorsque vous créez un groupe de paramètres, la configuration WLM par défaut contient une seule file d'attente qui peut exécuter jusqu'à cinq requêtes simultanément. Vous pouvez ajouter d'autres files d'attente et configurer les propriétés WLM de chacune d'elles si vous souhaitez plus de contrôle sur le traitement des requêtes. Chaque file d'attente que vous ajoutez possède la même configuration WLM par défaut jusqu'à ce que vous configuriez ses propriétés.

Lorsque vous ajoutez des files d'attente supplémentaires, la dernière file d'attente de la configuration est la file d'attente par défaut. A moins qu'une requête ne soit acheminée vers une autre file d'attente selon les critères de la configuration WLM, elle est traitée par la file d'attente par défaut. Vous pouvez spécifier le mode et le niveau de simultanéité (emplacements de requête) pour la file d'attente par défaut, mais vous ne pouvez pas spécifier de groupes d'utilisateurs ou de groupes de requêtes pour la file d'attente par défaut.

Comme pour d'autres paramètres, vous ne pouvez pas modifier la configuration WLM du groupe de paramètres par défaut. Les clusters associés au groupe de paramètres par défaut utilisent toujours la configuration WLM par défaut. Pour modifier la configuration WLM, créez un nouveau groupe de paramètres, puis associez ce groupe de paramètres aux clusters nécessitant votre configuration WLM personnalisée.

Propriétés WLM dynamiques et statiques

Les propriétés de la configuration WLM sont dynamiques ou statiques. Vous pouvez appliquer des propriétés dynamiques à la base de données sans redémarrage du cluster, mais les propriétés statiques nécessitent un redémarrage du cluster pour que les modifications prennent effet. Pour de plus amples informations sur les propriétés statiques et dynamiques, veuillez consulter Propriétés de configuration dynamiques et statiques WLM.

Propriétés du paramètre wlm_json_configuration

Vous pouvez configurer le WLM à l'aide de la console Amazon Redshift, de AWS CLI l'API Amazon Redshift ou de l'un des SDK. AWS La configuration WLM utilise plusieurs propriétés pour définir un comportement de file d'attente, telles que l'allocation mémoire entre les files d'attente, le nombre de requêtes pouvant s'exécuter simultanément dans une file d'attente, et ainsi de suite.

Note

Les propriétés suivantes sont accompagnées de leurs noms Amazon Redshift, avec les noms de propriété JSON correspondants dans les descriptions.

La table suivante résume si une propriété est applicable à la gestion automatique ou manuelle de la charge de travail.

Propriété WLM Gestion automatique de la charge de travail Gestion manuelle de la charge de travail
Auto WLM Oui Oui
Activer l’accélération des requêtes courtes Oui Oui
Durée d'exécution maximale pour les requêtes courtes Oui Oui
Priorité Oui Non
Type de requête Oui Oui
Nom de la file d'attente Oui Oui
Mode de mise à l’échelle de la simultanéité Oui Oui
Simultanéité Non Oui
Groupes d’utilisateurs Oui Oui
Caractère générique de groupe d’utilisateurs Oui Oui
Groupes de requêtes Oui Oui
Caractère générique de groupe de requêtes Oui Oui
Rôles utilisateurs Oui Oui
Caractère générique du rôle utilisateur Oui Oui
Expiration Non Obsolète
Mémoire Non Oui
Règles de surveillance de requête Oui Oui

La liste suivante décrit les propriétés WLM que vous pouvez configurer.

Auto WLM

Auto WLM défini sur true permet une utilisation automatique de WLM. Automatic WLM définit les valeurs Concurrency on main (Simultanéité sur principal) et Memory (%) (Mémoire (%)) sur Auto. Amazon Redshift gère la simultanéité des requêtes et l'allocation de mémoire. L’argument par défaut est true.

Propriété JSON : auto_wlm

Activer l'accélération des requêtes courtes

L’accélération des requêtes courtes (SQA) établit la priorité des requêtes de courte durée sélectionnées sur les requêtes de longue durée. La SQA exécute des requêtes de courte durée dans un espace dédié, afin que les requêtes SQA ne soient pas forcées d'attendre dans des files d'attente derrière les requêtes de longue durée. Avec la SQA, les requêtes de courte durée commencent à s'exécuter plus rapidement et les utilisateurs obtiennent les résultats plus rapidement. Lorsque vous activez la SQA, vous pouvez également spécifier le délai d'exécution maximal des requêtes courtes. Pour activer la SQA, spécifiez true. L’argument par défaut est false. Ce paramètre est appliqué à chaque groupe de paramètres plutôt qu'à la file d'attente.

Propriété JSON : short_query_queue

Durée d'exécution maximale pour les requêtes courtes

Lorsque vous activez SQA, vous pouvez également spécifier la valeur 0 pour permettre à WLM de définir le délai d'exécution maximal des requêtes courtes. Vous pouvez aussi spécifier une valeur comprise entre 1 et 20 secondes, en millisecondes. La valeur par défaut est 0.

Propriété JSON : max_execution_time

Priorité

La priorité définit la priorité des requêtes qui s'exécutent dans une file d'attente. Pour définir la priorité, le mode WLM doit être défini sur Auto WLM ; c'est-à-dire que auto_wlm doit être true. Les valeurs de priorité peuvent être highest, high, normal, low et lowest. L’argument par défaut est normal.

Propriété JSON : priority

Type de requête

Le type de file d'attente désigne une file d'attente telle qu'utilisée par la gestion automatique de la charge de travail ou la gestion manuelle de la charge de travail. Définissez queue_type sur auto ou manual. Si aucune valeur n'est spécifiée, la valeur par défaut est manual.

Propriété JSON : queue_type

Nom de la file d'attente

Nom de la file d'attente. Vous pouvez définir le nom de la file d'attente en fonction des besoins de votre entreprise. Les noms de file d'attente doivent être uniques dans une configuration WLM, contenir jusqu'à 64 caractères alphanumériques, traits de soulignement ou espaces, et ne peuvent pas contenir de guillemets. Par exemple, si vous avez une file d'attente pour vos requêtes ETL, vous pouvez la nommer ETL queue. Ce nom est utilisé dans les mesures, les valeurs des tables système et la console Amazon Redshift pour identifier la file d'attente. Les requêtes et les rapports qui utilisent le nom de ces sources doivent pouvoir gérer les changements de nom. Auparavant, les noms de file d'attente étaient générés par Amazon Redshift. Les noms par défaut des files d'attente sont Queue 1, Queue 2, jusqu'à la dernière file d'attente nommée Default queue.

Important

Si vous modifiez le nom d'une file d'attente, la valeur de QueueName dimension des métriques de file d'attente WLM (telles que WLM, WLM QueueWait TimeQueueLength, WLM, WLM QueriesCompletedPerSecond, WLM, WLMQueryDuration, etc.) RunningQueries change également. Ainsi, si vous modifiez le nom d'une file d'attente, vous devrez peut-être modifier les CloudWatch alarmes que vous avez configurées.

Propriété JSON : name

Mode de mise à l'échelle de la simultanéité

Pour activer la mise à l'échelle de la simultanéité sur une file d'attente, définissez le mode de mise à l'échelle de la simultanéité sur auto. Lorsque le nombre de requêtes acheminées vers une file d'attente dépasse la simultanéité configurée pour la file d'attente, les requêtes éligibles sont envoyées au cluster de mise à l'échelle. Lorsque des emplacements deviennent disponibles, les requêtes s'exécutent sur le cluster principal. L’argument par défaut est off.

Propriété JSON : concurrency_scaling

Simultanéité

Nombre de requêtes qui peuvent être exécutées simultanément dans une file d'attente WLM manuelle. Cette propriété s'applique uniquement à la gestion manuelle de la charge de travail. Si la mise à l'échelle de la simultanéité est activée, les requêtes éligibles sont envoyées à un cluster de mise à l'échelle lorsqu'une file d'attente atteint le niveau de simultanéité (emplacements de requête). Si la mise à l'échelle de la simultanéité est désactivée, les requêtes attendent en file d'attente jusqu'à ce qu'un emplacement se libère. La plage est comprise entre 1 et 50.

Propriété JSON : query_concurrency

Groupes d'utilisateurs

Liste séparée par des virgules de noms de groupes d'utilisateurs. Lorsque les membres du groupe d'utilisateurs exécutent les requêtes de la base de données, leurs requêtes sont acheminées vers la file d'attente associée à leur groupe d'utilisateurs.

Propriété JSON : user_group

Caractère générique du groupe d'utilisateurs

Une valeur booléenne qui indique s'il convient d'activer les caractères génériques pour les groupes d'utilisateurs. Si la valeur est 0, les caractères génériques sont désactivés ; si la valeur est 1, les caractères génériques sont activés. Lorsque les caractères génériques sont activés, vous pouvez utiliser « * » ou « ? » pour spécifier plusieurs groupes d'utilisateurs lors de l'exécution des requêtes. Pour plus d'informations, consultez Caractères génériques.

Propriété JSON : user_group_wild_card

Groupes de requêtes

Liste séparée par des virgules de groupes de requêtes. Lorsque les membres du groupe de requêtes exécutent les requêtes de la base de données, leurs requêtes sont acheminées vers la file d'attente associée à leur groupe d'utilisateurs.

Propriété JSON : query_group

Caractère générique de groupe de requêtes

Valeur booléenne qui indique s'il convient d'activer les caractères génériques pour les groupes de requêtes. Si la valeur est 0, les caractères génériques sont désactivés ; si la valeur est 1, les caractères génériques sont activés. Lorsque les caractères génériques sont activés, vous pouvez utiliser « * » ou « ? » pour spécifier plusieurs groupes de requêtes lors de l'exécution des requêtes. Pour plus d'informations, consultez Caractères génériques.

Propriété JSON : query_group_wild_card

Rôles utilisateur

Liste séparée par des virgules de rôles utilisateurs. Lorsque des membres avec ce rôle utilisateur exécutent des requêtes de la base de données, leurs requêtes sont acheminées vers la file d'attente associée à leur rôle utilisateur. Pour plus d'informations sur les rôles utilisateurs, consultez Contrôle d'accès basé sur les rôles (RBAC).

Propriété JSON : user_role

Caractère générique des rôles utilisateurs

Valeur booléenne qui indique s'il convient d'activer les caractères génériques pour les groupes de requêtes. Si la valeur est 0, les caractères génériques sont désactivés ; si la valeur est 1, les caractères génériques sont activés. Lorsque les caractères génériques sont activés, vous pouvez utiliser « * » ou « ? » pour spécifier plusieurs groupes de requêtes lors de l'exécution des requêtes. Pour plus d'informations, consultez Caractères génériques.

Propriété JSON : user_role_wild_card

Délai (ms)

Le délai WLM (max_execution_time) est obsolète. Il n'est pas disponible lors de l'utilisation de la gestion automatique de la charge de travail. Au lieu de cela, créez une règle de surveillance de requête (QRM) query_execution_time pour limiter le temps d’exécution écoulé d’une requête. Pour de plus amples informations, veuillez consulter Règles de surveillance de requête WLM.

Durée maximale, en millisecondes, pendant laquelle les requêtes peuvent s'exécuter avant d'être annulées. Dans certains cas, une requête en lecture seule, telle qu'une instruction SELECT peut être annulée en raison d'une expiration WLM. Dans ces cas-là, WLM tente d'acheminer la requête vers la file d'attente correspondante suivante en fonction des règles d'affectation de file d'attente de WLM. Si la requête ne correspond pas à une autre définition de file d'attente, la requête est annulée ; elle n'est pas affectée à la file d'attente par défaut. Pour de plus amples informations, veuillez consulter WLM Query Queue Hopping (Saut de file d'attente des requêtes WLM). Le délai WLM ne s'applique pas à une requête qui a atteint l'état returning. Pour afficher l'état d'une requête, consultez la table système STV_WLM_QUERY_STATE.

Propriété JSON : max_execution_time

Memory (%) (Mémoire (%))

Pourcentage de mémoire à allouer à la file d'attente. Si vous spécifiez un pourcentage de mémoire pour une file d'attente au moins, vous devez indiquer un pourcentage pour toutes les autres files d'attente afin d'atteindre un total de 100 %. Si votre allocation mémoire est inférieure à 100 % sur l'ensemble des files d'attente, la mémoire non allouée est gérée par le service. Le service peut temporairement attribuer cette mémoire non allouée à une file d'attente qui demande plus de mémoire pour le traitement.

Propriété JSON : memory_percent_to_use

Règles de surveillance de requête

Vous pouvez utiliser les règles de surveillance de requête WLM afin de surveiller en permanence vos files d'attente WLM en fonction de critères ou de prédicats que vous spécifiez. Par exemple, vous pouvez surveiller les requêtes qui tendent à consommer des ressources système excessives, puis initier une action donnée lorsqu'une requête dépasse les limites de performance que vous indiquez.

Note

Si vous créez des règles par programmation, il est recommandé d’utiliser la console afin de générer les données JSON à inclure dans la définition du groupe de paramètres.

Vous associez une règle de surveillance de requête à une file d'attente de requêtes spécifique. Vous pouvez disposer de jusqu’à 25 règles par file d’attente et la limite totale pour toutes les files d’attente est de 25 règles.

Propriété JSON : rules

Propriétés de hiérarchie JSON

rules rule_name predicate metric_name operator value action value

Pour chaque règle, vous spécifiez les propriétés suivantes :

  • rule_name – Les noms de règles doivent être uniques au sein de la configuration WLM. Les noms de règles peut comporter jusqu’à 32 caractères alphanumériques ou traits de soulignement et ne doivent pas contenir d’espaces ni de guillemets.

    • predicate – Chaque règle peut comporter jusqu'à trois prédicats. Pour chaque prédicats, vous spécifiez les propriétés suivantes.

      • metric_name – Pour connaître la liste des métriques, veuillez consulter la rubrique Métriques de surveillance de requête dans le Manuel du développeur de base de données Amazon Redshift.

      • operator – Les opérations sont =, < et >.

      • value – La valeur de seuil pour la métrique spécifiée déclenchant une action.

  • action – Chaque règle est associée à une action. Les actions valides sont :

    • log

    • hop (uniquement disponible avec la gestion manuelle de la charge de travail)

    • abort

    • change_query_priority (uniquement disponible avec la gestion automatique de la charge de travail)

L'exemple suivant présente le fichier JSON pour une règle de surveillance de requête WLM nommée rule_1, avec deux prédicats et l'action hop.

"rules": [ { "rule_name": "rule_1", "predicate": [ { "metric_name": "query_execution_time", "operator": ">", "value": 100000 }, { "metric_name": "query_blocks_read", "operator": ">", "value": 1000 } ], "action": "hop" } ]

Pour de plus amples informations sur chacune de ces propriétés et les stratégies de configuration des files d'attente de requête, veuillez consulter Implémentation de la gestion des charges de travail dans le Manuel du développeur de base de données Amazon Redshift.

Configuration du paramètre wlm_json_configuration à l'aide du AWS CLI

Pour configurer WLM, vous modifiez le paramètre wlm_json_configuration. La taille maximale de la valeur de la propriété wlm_json_configuration est de 8 000 caractères. La valeur est formatée en notation JavaScript d'objet (JSON). Si vous configurez WLM à l' AWS CLI aide de l'API Amazon Redshift ou de AWS l'un des SDK, consultez le reste de cette section pour savoir comment créer la structure JSON du paramètre. wlm_json_configuration

Note

Si vous configurez WLM en utilisant la console Amazon Redshift, vous n'avez pas besoin de comprendre le format JSON, car la console offre un moyen simple d'ajouter des files d'attente et de configurer leurs propriétés. Pour plus d'informations sur la configuration de WLM à l'aide de la console, consultez Modification d'un groupe de paramètres.

Exemple

L'exemple suivant illustre la configuration WLM par défaut, qui définit une file d'attente avec Automatic WLM.

{ "auto_wlm": true }

Exemple

L'exemple suivant est une configuration WLM personnalisée, qui définit une file d'attente WLM manuelle avec un niveau de simultanéité (emplacements de requête) égal à cinq.

{ "query_concurrency":5 }

Syntaxe

La configuration WLM par défaut est très simple, avec une seule file d'attente et une seule propriété. Vous pouvez ajouter plus de files d'attente et configurer plusieurs propriétés pour chaque file d'attente de la structure JSON. La syntaxe suivante représente la structure JSON que vous utilisez pour configurer plusieurs files d'attente avec plusieurs propriétés :

[ { "ParameterName":"wlm_json_configuration", "ParameterValue": "[ { "q1_first_property_name":"q1_first_property_value", "q1_second_property_name":"q1_second_property_value", ... }, { "q2_first_property_name":"q2_first_property_value", "q2_second_property_name":"q2_second_property_value", ... } ... ]" } ]

Dans l'exemple précédent, les propriétés représentatives qui commencent par q1 sont les objets d'un tableau de la première file d'attente. Chacun de ces objets est une paire nom-valeur ; name et value définissent ensemble les propriétés WLM de la première file d'attente. Les propriétés représentatives qui commencent par q2 sont les objets d'un tableau de la deuxième file d'attente. Si vous avez besoin de plus de files d'attente, vous ajoutez un autre tableau pour chaque file d'attente supplémentaire et définissez les propriétés de chaque objet.

Lorsque vous modifiez la configuration WLM, vous devez y inclure la totalité de la structure de vos files d'attente, même si vous ne voulez modifier qu'une seule propriété au sein d'une file d'attente. La raison en est que toute la structure JSON est passée sous forme de chaîne comme valeur du paramètre wlm_json_configuration.

Mise en forme de la commande de l' AWS CLI

Le paramètre wlm_json_configuration nécessite un format spécifique lorsque vous utilisez l' AWS CLI. Le format que vous utilisez dépend du système d'exploitation de votre client. Comme les systèmes d'exploitation ont différentes façons de joindre la structure JSON, elle est transmise correctement à partir de la ligne de commande. Pour plus d'informations sur la façon de construire la commande appropriée dans les systèmes d'exploitation Linux, Mac OS X et Windows, consultez les sections suivantes. Pour plus d'informations sur les différences entre les structures de données JSON et les structures de données AWS CLI en général, consultez la section Guoting strings dans le guide de l'AWS Command Line Interface utilisateur.

Exemples

L'exemple de commande suivant configure la gestion manuelle de la charge de travail pour un groupe de paramètres appelé example-parameter-group. La configuration permet l'accélération des requêtes courtes avec une durée d'exécution maximale pour les requêtes courtes définie sur 0, ce qui nécessite que WLM définisse la valeur dynamiquement. Le paramètre ApplyType a la valeur dynamic. Cette valeur signifie que toute modification apportée aux propriétés dynamiques du paramètre est appliquée immédiatement, à moins que d'autres modifications statiques n'aient été apportées à la configuration. La configuration définit trois files d'attente avec les éléments suivants :

  • La première file d'attente permet aux utilisateurs de spécifier report comme étiquette (tel qu'indiqué dans la propriété query_group) dans leurs requêtes pour aider à acheminer les requêtes vers cette file d'attente. Comme les recherches par caractères génériques sont activées pour l'étiquette report*, l'étiquette n'a pas besoin d'être exacte pour que les requêtes soient acheminées vers la file d'attente. Par exemple, reports et reporting correspondent également à ce groupe de requêtes. La file d'attente se voit allouer 25 % de la mémoire totale sur toutes les files d'attente et peut exécuter jusqu'à quatre requêtes en même temps. Les requêtes sont limitées à une durée maximum de 20 000 millisecondes (ms). Si le mode est défini sur auto, les requêtes éligibles sont envoyées à un cluster de mise à l'échelle lorsque tous les emplacements de requête de la file d'attente sont occupés.

  • La deuxième file d'attente permet aux utilisateurs qui sont membres des groupes admin ou dba de la base de données d'avoir leurs requêtes acheminées vers la file d'attente en vue de leur traitement. Comme les recherches par caractères génériques sont désactivées pour les groupes d'utilisateurs, les utilisateurs doivent correspondre exactement aux groupes de la base de données pour que leurs requêtes soient acheminées vers la file d'attente. La file d'attente se voit allouer 40 % de la mémoire totale sur toutes les files d'attente et peut exécuter jusqu'à cinq requêtes en même temps. Si le mode est désactivé, toutes les requêtes envoyées par les membres des groupes admin ou dba s'exécutent sur le cluster principal.

  • La dernière file d'attente de la configuration est la file d'attente par défaut. Cette file d'attente se voit allouer 35 % de la mémoire totale sur toutes les files d'attente et peut traiter jusqu'à cinq requêtes à la fois. Le mode est défini sur auto.

Note

L'exemple est affiché sur plusieurs lignes à des fins de démonstration. Les commandes réelles ne comportent pas de sauts de ligne.

aws redshift modify-cluster-parameter-group --parameter-group-name example-parameter-group --parameters '[ { "query_concurrency": 4, "max_execution_time": 20000, "memory_percent_to_use": 25, "query_group": ["report"], "query_group_wild_card": 1, "user_group": [], "user_group_wild_card": 0, "user_role": [], "user_role_wild_card": 0, "concurrency_scaling": "auto", "queue_type": "manual" }, { "query_concurrency": 5, "memory_percent_to_use": 40, "query_group": [], "query_group_wild_card": 0, "user_group": [ "admin", "dba" ], "user_group_wild_card": 0, "user_role": [], "user_role_wild_card": 0, "concurrency_scaling": "off", "queue_type": "manual" }, { "query_concurrency": 5, "query_group": [], "query_group_wild_card": 0, "user_group": [], "user_group_wild_card": 0, "user_role": [], "user_role_wild_card": 0, "concurrency_scaling": "auto", "queue_type": "manual" }, {"short_query_queue": true} ]'

Voici un exemple de configuration de règle de surveillance de requête WLM pour une configuration de gestion automatique de la charge de travail. L'exemple crée un groupe de paramètres nommé example-monitoring-rules. La configuration définit les mêmes trois files d'attente que dans l'exemple précédent, mais query_concurrency et memory_percent_to_use ne sont plus spécifiés. La configuration ajoute également les règles et les priorités de requête suivantes :

  • La première file d'attente définit une règle nommée rule_1. La règle a deux prédicats : query_cpu_time > 10000000 et query_blocks_read > 1000. L'action de la règle est log. La priorité de cette file d'attente est Normal.

  • La deuxième file d'attente définit une règle nommée rule_2. La règle a deux prédicats : query_execution_time > 600000000 et scan_row_count > 1000000000. L'action de la règle est abort. La priorité de cette file d'attente est Highest.

  • La dernière file d'attente de la configuration est la file d'attente par défaut. La priorité de cette file d'attente est Low.

Note

L'exemple est affiché sur plusieurs lignes à des fins de démonstration. Les commandes réelles ne comportent pas de sauts de ligne.

aws redshift modify-cluster-parameter-group --parameter-group-name example-monitoring-rules --parameters '[ { "query_group" : [ "report" ], "query_group_wild_card" : 1, "user_group" : [ ], "user_group_wild_card" : 0, "user_role": [ ], "user_role_wild_card": 0, "concurrency_scaling" : "auto", "rules" : [{ "rule_name": "rule_1", "predicate": [{ "metric_name": "query_cpu_time", "operator": ">", "value": 1000000 }, { "metric_name": "query_blocks_read", "operator": ">", "value": 1000 } ], "action" : "log" } ], "priority": "normal", "queue_type": "auto" }, { "query_group" : [ ], "query_group_wild_card" : 0, "user_group" : [ "admin", "dba" ], "user_group_wild_card" : 0, "user_role": [ ], "user_role_wild_card": 0, "concurrency_scaling" : "off", "rules" : [ { "rule_name": "rule_2", "predicate": [ {"metric_name": "query_execution_time", "operator": ">", "value": 600000000}, {"metric_name": "scan_row_count", "operator": ">", "value": 1000000000}], "action": "abort"}], "priority": "high", "queue_type": "auto" }, { "query_group" : [ ], "query_group_wild_card" : 0, "user_group" : [ ], "user_group_wild_card" : 0, "user_role": [ ], "user_role_wild_card": 0, "concurrency_scaling" : "auto", "priority": "low", "queue_type": "auto", "auto_wlm": true }, { "short_query_queue" : true } ]'

Configuration de WLM en utilisant le AWS CLI dans la ligne de commande avec un fichier JSON

Vous pouvez modifier le wlm_json_configuration paramètre à l'aide du AWS CLI et transmettre la valeur de l'parametersargument sous forme de fichier JSON.

aws redshift modify-cluster-parameter-group --parameter-group-name myclusterparaametergroup --parameters file://modify_pg.json

Les arguments pour --parameters sont stockés dans le fichier modify_pg.json : L'emplacement du fichier est spécifié dans le format de votre système d'exploitation. Pour de plus amples informations, veuillez consulter Chargement des paramètres à partir d'un fichier. Voici les exemples de contenu du modify_pg.json fichier JSON.

[ { "ParameterName": "wlm_json_configuration", "ParameterValue": "[{\"user_group\":\"example_user_group1\",\"query_group\": \"example_query_group1\", \"query_concurrency\":7},{\"query_concurrency\":5}]" } ]
[ { "ParameterName": "wlm_json_configuration", "ParameterValue": "[{\"query_group\":[\"reports\"],\"query_group_wild_card\":0,\"query_concurrency\":4,\"max_execution_time\":20000,\"memory_percent_to_use\":25},{\"user_group\":[\"admin\",\"dba\"],\"user_group_wild_card\":1,\"query_concurrency\":5,\"memory_percent_to_use\":40},{\"query_concurrency\":5,\"memory_percent_to_use\":35},{\"short_query_queue\": true, \"max_execution_time\": 5000 }]", "ApplyType": "dynamic" } ]

Règles de configuration du WLM à l'aide de AWS CLI la ligne de commande sur les systèmes d'exploitation Linux et macOS X

Suivez ces règles pour exécuter une AWS CLI commande avec des paramètres sur une ligne :

  • Toute la structure JSON doit être placée entre guillemets simples (') et entre crochets ([ ]).

  • Tous les noms de paramètre et valeurs de paramètre doivent se trouver entre guillemets doubles (").

  • Au sein de la valeur ParameterValue, vous devez placer toute la structure imbriquée entre guillemets doubles (") et entre crochets ([ ]).

  • Au sein de la structure imbriquée, chacune des propriétés et des valeurs de chaque file d'attente doivent être placées entre accolades ({}).

  • Au sein de la structure imbriquée, vous devez utiliser le caractère d'échappement barre oblique inverse (\) avant chaque guillemet double (").

  • Pour les paires nom-valeur, un signe deux-points (:) sépare chaque propriété de sa valeur.

  • Chaque paire nom-valeur est séparée d'une autre paire par une virgule (,).

  • Plusieurs files d'attente sont séparées par une virgule (,) entre la fin d'accolade d'une file d'attente (}) et le début d'accolade de la file d'attente suivante ({).

Règles de configuration du WLM à l'aide de AWS CLI Windows PowerShell sur les systèmes d'exploitation Microsoft Windows

Suivez ces règles pour exécuter une AWS CLI commande avec des paramètres sur une ligne :

  • Toute la structure JSON doit être placée entre guillemets simples (') et entre crochets ([ ]).

  • Tous les noms de paramètre et valeurs de paramètre doivent se trouver entre guillemets doubles (").

  • Au sein de la valeur ParameterValue, vous devez placer toute la structure imbriquée entre guillemets doubles (") et entre crochets ([ ]).

  • Au sein de la structure imbriquée, chacune des propriétés et des valeurs de chaque file d'attente doivent être placées entre accolades ({}).

  • Au sein de la structure imbriquée, vous devez utiliser le caractère d'échappement de barre oblique inverse (\) avant chaque guillemet double (") et son caractère d'échappement de barre oblique inverse (\). Cette exigence signifie que vous utiliserez trois barres obliques et un guillemet double pour vous assurer que les propriétés sont correctement transmises (\\\").

  • Pour les paires nom-valeur, un signe deux-points (:) sépare chaque propriété de sa valeur.

  • Chaque paire nom-valeur est séparée d'une autre paire par une virgule (,).

  • Plusieurs files d'attente sont séparées par une virgule (,) entre la fin d'accolade d'une file d'attente (}) et le début d'accolade de la file d'attente suivante ({).

Règles de la configuration WLM à l'aide de l'invite de commande sur les systèmes d'exploitation Windows

Suivez ces règles pour exécuter une AWS CLI commande avec des paramètres sur une ligne :

  • Toute la structure JSON doit être placée entre guillemets doubles (") et entre crochets ([ ]).

  • Tous les noms de paramètre et valeurs de paramètre doivent se trouver entre guillemets doubles (").

  • Au sein de la valeur ParameterValue, vous devez placer toute la structure imbriquée entre guillemets doubles (") et entre crochets ([ ]).

  • Au sein de la structure imbriquée, chacune des propriétés et des valeurs de chaque file d'attente doivent être placées entre accolades ({}).

  • Au sein de la structure imbriquée, vous devez utiliser le caractère d'échappement de barre oblique inverse (\) avant chaque guillemet double (") et son caractère d'échappement de barre oblique inverse (\). Cette exigence signifie que vous utiliserez trois barres obliques et un guillemet double pour vous assurer que les propriétés sont correctement transmises (\\\").

  • Pour les paires nom-valeur, un signe deux-points (:) sépare chaque propriété de sa valeur.

  • Chaque paire nom-valeur est séparée d'une autre paire par une virgule (,).

  • Plusieurs files d'attente sont séparées par une virgule (,) entre la fin d'accolade d'une file d'attente (}) et le début d'accolade de la file d'attente suivante ({).