Types de travailleur AWS Glue
Présentation
AWS Glue propose plusieurs types de travailleurs pour répondre aux différentes exigences de charge de travail, qu’il s’agisse de petites tâches de streaming ou de tâches de traitement de données à grande échelle nécessitant beaucoup de mémoire. Cette section fournit des informations complètes sur tous les types de travailleurs disponibles, leurs spécifications et les recommandations d’utilisation.
Catégories de types de travailleur
AWS Glue propose deux catégories principales de types de travailleur :
-
Types de travailleurs G : travailleurs de calcul polyvalents optimisés pour les charges de travail ETL standard
-
Types de travailleurs R : travailleurs optimisés pour la mémoire conçus pour les applications Spark gourmandes en mémoire
Unités de traitement de données (DPU)
Les ressources disponibles pour les travailleurs AWS Glue sont mesurées en DPU. Une DPU est une mesure relative de la puissance de traitement consistant en 4 vCPU de capacité de calcul et 16 Go de mémoire.
DPU optimisées pour la mémoire (M-DPU) : les travailleurs de type R utilisent des M-DPU, qui fournissent le double de l’allocation de mémoire pour une taille donnée par rapport aux DPU standard. Cela signifie qu’alors qu’une DPU standard fournit 16 Go de mémoire, une M-DPU dans des travailleurs de type R fournit 32 Go de mémoire optimisée pour les applications Spark gourmandes en mémoire.
Types de travailleurs disponibles
G.1X : travailleur standard
DPU : 1 DPU (4 vCPU, 16 Go de mémoire)
Stockage : disque de 94 Go (environ 44 Go libres)
Cas d’utilisation : transformations, jointures et requêtes de données : évolutifs et économiques pour la plupart des tâches
G.2X : travailleur standard
DPU : 2 DPU (8 vCPU, 32 Go de mémoire)
Stockage : disque de 138 Go (environ 78 Go libres)
Cas d’utilisation : transformations, jointures et requêtes de données : évolutifs et économiques pour la plupart des tâches
G.4X : travailleur de grande taille
DPU : 4 DPU (16 vCPU, 64 Go de mémoire)
Stockage : disque de 256 Go (environ 230 Go libres)
Cas d’utilisation : transformations, agrégations, jointures et requêtes exigeantes
G.8X : travailleur volumineux
DPU : 8 DPU (32 vCPU, 128 Go de mémoire)
Stockage : disque de 512 Go (environ 485 Go libres)
Cas d’utilisation : transformations, agrégations, jointures et requêtes les plus exigeantes
G.12X : travailleur très volumineux*
DPU : 12 DPU (48 vCPU, 192 Go de mémoire)
Stockage : disque de 768 Go (environ 741 Go libres)
Cas d’utilisation : charges de travail très importantes et gourmandes en ressources nécessitant une capacité de calcul importante
G.16X : travailleur maximal*
DPU : 16 DPU (64 vCPU, 256 Go de mémoire)
Stockage : disque de 1 024 Go (environ 996 Go libres)
Cas d’utilisation : charges de travail les plus importantes et gourmandes en ressources nécessitant une capacité de calcul maximale
R.1X : petite capacité optimisée pour la mémoire*
DPU : 1 M-DPU (4 vCPU, 32 Go de mémoire)
Cas d’utilisation : charges de travail gourmandes en mémoire associées à de fréquentes erreurs liées à une insuffisance de mémoire ou à des exigences de ratio mémoire/processeur élevées
R.2X : capacité moyenne optimisée pour la mémoire*
DPU : 2 M-DPU (8 vCPU, 64 Go de mémoire)
Cas d’utilisation : charges de travail gourmandes en mémoire associées à de fréquentes erreurs liées à une insuffisance de mémoire ou à des exigences de ratio mémoire/processeur élevées
R.4X : grande capacité optimisée pour la mémoire*
DPU : 4 M-DPU (16 vCPU, 128 Go de mémoire)
Cas d’utilisation : grandes charges de travail gourmandes en mémoire associées à de fréquentes erreurs liées à une insuffisance de mémoire ou à des exigences de ratio mémoire/processeur élevées
R.8X : très grande capacité optimisée pour la mémoire*
DPU : 8 M-DPU (32 vCPU, 256 Go de mémoire)
Cas d’utilisation : très grandes charges de travail gourmandes en mémoire associées à de fréquentes erreurs liées à une insuffisance de mémoire ou à des exigences de ratio mémoire/processeur élevées
* Vous pouvez rencontrer une latence de démarrage plus élevée avec ces travailleurs. Pour résoudre ce problème, essayez ce qui suit :
Attendez quelques minutes et soumettez à nouveau votre tâche.
Soumettez une nouvelle tâche avec un nombre réduit de travailleurs.
Soumettez une nouvelle tâche en utilisant un type ou une taille de travailleur différents.
Table de spécifications des types de travailleur
| Type de travailleur | DPU par nœud | vCPU | Mémoire (Go) | Disque (Go) | Espace disque disponible (Go) | Exécuteurs Spark par nœud |
|---|---|---|---|---|---|---|
| G.1X | 1 | 4 | 16 | 94 | 44 | 1 |
| G.2X | 2 | 8 | 32 | 138 | 78 | 1 |
| G.4X | 4 | 16 | 64 | 256 | 230 | 1 |
| G.8X | 8 | 32 | 128 | 512 | 485 | 1 |
| G.12X | 12 | 48 | 192 | 768 | 741 | 1 |
| G.16X | 16 | 64 | 256 | 1 024 | 996 | 1 |
Remarque : Les types de travailleurs R ont des configurations optimisées pour la mémoire avec des spécifications optimisées pour les charges de travail gourmandes en mémoire.
Considérations Importantes
Latence de démarrage
Important
Les types de travailleurs G.12X et G.16X, ainsi que tous les types de travailleurs R (R.1X à R.8X), peuvent subir une latence de démarrage plus élevée. Pour résoudre ce problème, essayez ce qui suit :
Attendez quelques minutes et soumettez à nouveau votre tâche.
Soumettez une nouvelle tâche avec un nombre réduit de travailleurs.
Soumettez une nouvelle tâche en utilisant un type et une taille de travailleur différents.
Choix du type de travailleur approprié
Pour les charges de travail ETL standard
G.1X ou G.2X : solution la plus rentable pour les transformations de données, les jointures et les requêtes classiques
G.4X ou G.8X : pour les charges de travail plus exigeantes avec des jeux de données plus volumineux
Pour les charges de travail à grande échelle
G.12X : très grands jeux de données nécessitant d’importantes ressources de calcul
G.16X : capacité de calcul maximale pour les charges de travail les plus exigeantes
Pour les charges de travail gourmandes en mémoire
R.1X ou R.2X : tâches gourmandes en mémoire de petite ou moyenne taille
R.4X ou R.8X : charges de travail gourmandes en mémoire, associées à des erreurs OOM fréquentes
Considérations en matière d’optimisation des coûts
Travailleurs G standard : fournissent un équilibre entre les ressources de calcul, de mémoire et de mise réseau. Ils peuvent être utilisés pour diverses charges de travail à moindre coût.
Travailleurs R : spécialisés dans les tâches gourmandes en mémoire avec des performances rapides pour les charges de travail qui traitent de larges jeux de données en mémoire.
Bonnes pratiques
Consignes de sélection des travailleurs
Commencez avec des travailleurs standard (G.1X, G.2X) pour la plupart des charges de travail.
Utilisez des travailleurs R lorsque vous rencontrez fréquemment des erreurs liées à un manque de mémoire ou des charges de travail liées à des opérations gourmandes en mémoire telles que la mise en cache, la réorganisation et l’agrégation.
Optez pour G.12X/G.16X pour les charges de travail gourmandes en ressources informatiques nécessitant un maximum de ressources.
Tenez compte des contraintes de capacité lors de l’utilisation de nouveaux types de travailleurs dans des flux de travail urgents.
Optimisation des performances
Surveiller les métriques CloudWatch pour comprendre l’utilisation des ressources
Utiliser un nombre de travailleurs approprié en fonction de la taille et de la complexité des données
Envisager des stratégies de partitionnement des données pour optimiser l’efficacité des travailleurs