Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le billet de blog .
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 files d'attente de requêtes
Amazon Redshift Serverless prend en charge la gestion des ressources de requêtes basée sur les files d'attente. Vous pouvez créer des files d'attente de requêtes dédiées avec des règles de surveillance personnalisées pour différentes charges de travail. Cette fonctionnalité permet un contrôle granulaire de l'utilisation des ressources.
Les règles de surveillance des requêtes (QMR) s'appliquent uniquement au niveau du groupe de travail Redshift Serverless, affectant de manière uniforme toutes les requêtes exécutées dans ce groupe de travail. L'approche basée sur les files d'attente vous permet de créer des files d'attente avec des règles de surveillance distinctes. Vous pouvez attribuer ces files d'attente à des rôles d'utilisateur et à des groupes de requêtes spécifiques. Chaque file d'attente fonctionne indépendamment, les règles n'affectant que les requêtes de cette file d'attente.
Les files d'attente vous permettent de définir des prédicats basés sur des métriques et des réponses automatisées. Par exemple, vous pouvez configurer des règles pour abandonner automatiquement les requêtes qui dépassent les limites de temps ou consomment trop de ressources.
Considérations
Lorsque vous utilisez des files d'attente sans serveur, tenez compte des points suivants :
-
Les clés de configuration de gestion de la charge de travail (WLM) suivantes utilisées dans les clusters provisionnés par Amazon Redshift ne sont pas prises en charge dans les files d'attente Redshift Serverless max_execution_time :short_query_queue,,,,,,,auto_wlm,concurrency_scaling. priority queue_type query_concurrency memory_percent_to_use user_group user_group_wild_card
De plus, les actions hop, change_query_priority ne sont pas prises en charge dans Serverless.
-
L'action hop (déplacement des requêtes entre les files d'attente) n'est pas prise en charge dans Amazon Redshift Serverless.
-
Les priorités de file d'attente ne sont prises en charge que pour les clusters provisionnés par Amazon Redshift.
-
Amazon Redshift Serverless gère automatiquement le dimensionnement et l'allocation des ressources pour des performances optimales. Vous n'avez donc pas besoin de configurer manuellement les priorités des files d'attente.
Configuration de files d'attente de requêtes
Vous pouvez créer des files d'attente sous l'onglet Limits pour un groupe de travail sans serveur à l'aide de l' AWS Management Console API Redshift Serverless AWS CLI ou Redshift.
- Console
-
Suivez ces étapes pour créer une file d'attente pour votre groupe de travail sans serveur.
-
Accédez à votre groupe de travail Redshift Serverless.
-
Sélectionnez l'onglet Limites.
-
Sous Query Queues, sélectionnez Activer les files d'attente.
L'activation des files d'attente de requêtes est une modification permanente. Vous ne pouvez pas revenir à la surveillance sans file d'attente une fois activée.
-
Configurez vos files d'attente à l'aide des paramètres suivants :
Paramètres de niveau de file d'attente
name- Identifiant de file d'attente (obligatoire, unique, non vide)
user_role- Tableau de rôles utilisateur (facultatif)
query_group- Tableau de groupes de requêtes (facultatif)
query_group_wild_card- 0 ou 1 pour activer la correspondance par caractères génériques (facultatif)
user_group_wild_card- 0 ou 1 pour activer la correspondance par caractères génériques (facultatif)
rules- Ensemble de règles de surveillance (facultatif)
Paramètres au niveau des règles
rule_name- Identifiant unique, 32 caractères maximum (obligatoire)
predicate- Ensemble de conditions, 1 à 3 prédicats (obligatoire)
action- « abort » ou « log » (obligatoire)
Paramètres du niveau du prédicat
metric_name- Métrique à surveiller (obligatoire)
operator- « = », « < », or « > » (obligatoire)
value- Seuil numérique (obligatoire)
Restrictions
8 files d'attente maximum
25 règles maximum pour toutes les files d'attente
3 prédicats maximum par règle
Les noms de règles doivent être uniques à l'échelle mondiale
Exemple de configuration
Trois exemples de files d'attente : une pour les requêtes de tableau de bord dont le délai d'expiration est court, l'autre pour les requêtes ETL avec un long délai d'attente et une file d'administration :
[
{
"name": "dashboard",
"user_role": ["analyst", "viewer"],
"query_group": ["reporting"],
"query_group_wild_card": 1,
"rules": [
{
"rule_name": "short_timeout",
"predicate": [
{
"metric_name": "query_execution_time",
"operator": ">",
"value": 60
}
],
"action": "abort"
}
]
},
{
"name": "ETL",
"user_role": ["data_scientist"],
"query_group": ["analytics", "ml"],
"rules": [
{
"rule_name": "long_timeout",
"predicate": [
{
"metric_name": "query_execution_time",
"operator": ">",
"value": 3600
}
],
"action": "log"
},
{
"rule_name": "memory_limit",
"predicate": [
{
"metric_name": "query_temp_blocks_to_disk",
"operator": ">",
"value": 100000
}
],
"action": "abort"
}
]
},
{
"name": "admin_queue",
"user_role": ["admin"],
"query_group": ["admin"]
}
]
Dans cet exemple :
-
Les requêtes du tableau de bord sont abandonnées si elles durent plus de 60 secondes
-
Les requêtes ETL sont enregistrées si elles durent plus d'une heure
-
La file d'attente des administrateurs n'a aucune limite de ressources
- CLI
-
Vous pouvez gérer les files d'attente à l'aide du paramètre CreateWorkgroup ou UpdateWorkgroup APIs avec le paramètre de wlm_json_configuration configuration pour spécifier les files d'attente au format JSON.
aws redshift-serverless create-workgroup \
--workgroup-name test-workgroup \
--namespace-name test-namespace \
--config-parameters '[{"parameterKey": "wlm_json_configuration", "parameterValue": "[{\"name\":\"dashboard\",\"user_role\":[\"analyst\",\"viewer\"],\"query_group\":[\"reporting\"],\"query_group_wild_card\":1,\"rules\":[{\"rule_name\":\"short_timeout\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":60}],\"action\":\"abort\"}]},{\"name\":\"ETL\",\"user_role\":[\"data_scientist\"],\"query_group\":[\"analytics\",\"ml\"],\"rules\":[{\"rule_name\":\"long_timeout\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":3600}],\"action\":\"log\"},{\"rule_name\":\"memory_limit\",\"predicate\":[{\"metric_name\":\"query_temp_blocks_to_disk\",\"operator\":\">\",\"value\":100000}],\"action\":\"abort\"}]},{\"name\":\"admin_queue\",\"user_role\":[\"admin\"],\"query_group\":[\"admin\"]}]"}]'
Bonnes pratiques
Gardez à l'esprit les meilleures pratiques suivantes lorsque vous utilisez des files d'attente sans serveur.
-
Utilisez des files d'attente distinctes pour les charges de travail soumises à des exigences de limites distinctes (par exemple, ETL, rapports ou analyses ad hoc).
-
Commencez par des seuils simples et ajustez-les en fonction du comportement des requêtes et des modèles d'utilisation. Vous pouvez surveiller les modèles d'utilisation des requêtes à l'aide des tables et des vues documentées dans la section Tables et vues système pour les règles de surveillance des requêtes.