Types de travailleur AWS Glue - AWS Glue

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

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

  1. Commencez avec des travailleurs standard (G.1X, G.2X) pour la plupart des charges de travail.

  2. 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.

  3. Optez pour G.12X/G.16X pour les charges de travail gourmandes en ressources informatiques nécessitant un maximum de ressources.

  4. 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