Tipi di worker AWS Glue
Panoramica
AWS Glue offre diversi tipi di worker per soddisfare diversi requisiti di carico di lavoro, da piccoli processi di streaming ad attività di elaborazione dati su larga scala e che richiedono molta memoria. Questa sezione fornisce informazioni complete su tutti i tipi di worker disponibili, le relative specifiche e i consigli di utilizzo.
Categorie di tipi di worker
AWS Glue offre due categorie principali di tipi di worker:
- 
              
Tipi di worker G: elaboratori generici ottimizzati per carichi di lavoro ETL standard
 - 
              
Tipi di worker R: worker ottimizzati per la memoria progettati per applicazioni Spark che richiedono molta memoria
 
Unità di elaborazione dei dati (DPU)
Le risorse disponibili per i worker AWS Glue sono misurate in DPU. Una DPU è una misura relativa della potenza di elaborazione ed è costituita da 4 vCPU di capacità di elaborazione e 16 GB di memoria.
DPU ottimizzate per la memoria (M-DPU): i worker di tipo R utilizzano M-DPU, che forniscono il doppio dell'allocazione di memoria per una determinata dimensione rispetto alle DPU standard. Ciò significa che mentre una DPU standard fornisce 16 GB di memoria, una M-DPU di tipo R fornisce 32 GB di memoria ottimizzata per le applicazioni Spark a uso intensivo di memoria.
Tipi di worker disponibili
G.1X - Worker standard
DPU: 1 DPU (4 vCPU, 16 GB di memoria)
Memoria: disco da 94 GB (circa 44 GB liberi)
Caso d'uso: trasformazioni, unioni e query di dati: scalabile e conveniente per la maggior parte dei processi
G.2X - Worker standard
DPU: 2 DPU (8 vCPU, 32 GB di memoria)
Memoria: disco da 138 GB (circa 78 GB liberi)
Caso d'uso: trasformazioni, unioni e query di dati: scalabile e conveniente per la maggior parte dei processi
G.4X - Worker grande
DPU: 4 DPU (16 vCPU, 64 GB di memoria)
Memoria: disco da 256 GB (circa 230 GB liberi)
Caso d'uso: trasformazioni, aggregazioni, join e query con i maggiori requisiti
G.8X - Worker molto grande
DPU: 8 DPU (32 vCPU, 128 GB di memoria)
Memoria: disco da 512 GB (circa 485 GB liberi)
Caso d'uso: trasformazioni, aggregazioni, join e query con i più alti requisiti
G.12X - Worker grandissimo*
DPU: 12 DPU (48 vCPU, 192 GB di memoria)
Memoria: disco da 768 GB (circa 741 GB liberi)
Caso d'uso: carichi di lavoro molto grandi e che richiedono molte risorse con una notevole capacità di elaborazione
G.16X - Worker massimo*
DPU: 16 DPU (64 vCPU, 256 GB di memoria)
Memoria: disco da 1024 GB (circa 996 GB liberi)
Caso d'uso: carichi di lavoro più grandi in assoluto e che richiedono la maggiore capacità di elaborazione possibile
R.1X - Dimensioni ridotte con ottimizzazione per la memoria*
DPU: 1 M-DPU (4 vCPU, 32 GB di memoria)
Caso d'uso: carichi di lavoro a uso intensivo di memoria con frequenti errori di esaurimento della memoria o requisiti di elevato rapporto memoria/CPU
R.2X - Dimensioni medie con ottimizzazione per la memoria*
DPU: 2 M-DPU (8 vCPU, 64 GB di memoria)
Caso d'uso: carichi di lavoro a uso intensivo di memoria con frequenti errori di esaurimento della memoria o requisiti di elevato rapporto memoria/CPU
R.4X - Dimensioni grandi con ottimizzazione per la memoria*
DPU: 4 M-DPU (16 vCPU, 128 GB di memoria)
Caso d'uso: carichi di lavoro a uso molto intensivo di memoria con frequenti errori di esaurimento della memoria o requisiti di elevato rapporto memoria/CPU
R.8X - Dimensioni molto grandi con ottimizzazione per la memoria*
DPU: 8 M-DPU (32 vCPU, 256 GB di memoria)
Caso d'uso: carichi di lavoro a grande uso intensivo di memoria con frequenti errori di esaurimento della memoria o requisiti di elevato rapporto memoria/CPU
*È possibile riscontrare una maggiore latenza di avvio con questi worker. Per risolvere il problema, provare a eseguire queste operazioni:
Attendere alcuni minuti, quindi inviare di nuovo il processo.
Inviare un nuovo processo con un numero ridotto di worker.
Inviare un nuovo processo utilizzando un tipo o una dimensione di worker diversi.
Tabella delle specifiche del tipo di worker
| Tipo di worker | DPU per nodo | VPCU | Memoria (GB) | Disco (GB) | Spazio libero su disco (GB) | Esecutori Spark per nodo | 
|---|---|---|---|---|---|---|
| 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 | 
Nota: i tipi di worker R hanno configurazioni ottimizzate per la memoria con specifiche ottimizzate per carichi di lavoro che richiedono molta memoria.
Considerazioni importanti
Latenza di avvio
Importante
I tipi di worker G.12X e G.16X, così come tutti i tipi di worker R (da R.1X a R.8X), possono riscontrare una latenza di avvio più elevata. Per risolvere il problema, provare a eseguire queste operazioni:
Attendere alcuni minuti, quindi inviare di nuovo il processo.
Inviare un nuovo processo con un numero ridotto di worker.
Inviare un nuovo processo utilizzando un tipo e una dimensione di worker diversi.
Scegliere il tipo di worker giusto
Per carichi di lavoro ETL standard
G.1X o G.2X: la soluzione più conveniente per le trasformazioni, i join e le query tipiche dei dati
G.4X o G.8X: per carichi di lavoro più impegnativi con set di dati più grandi
Per carichi di lavoro su larga scala
G.12X: set di dati molto grandi che richiedono risorse di elaborazione significative
G.16X: capacità di elaborazione massima per i carichi di lavoro più impegnativi
Per carichi di lavoro a uso intensivo di memoria
R.1X o R.2X: processi di piccole e medie dimensioni con uso intensivo di memoria
R.4X o R.8X: carichi di lavoro di grandi dimensioni a uso intensivo di memoria con frequenti errori OOM
Considerazioni per l'ottimizzazione dei costi
Worker G standard: offrono il giusto rapporto tra risorse di calcolo, memoria e rete e possono essere utilizzati per una varietà di carichi di lavoro diversi a costi inferiori
Worker R: specializzati per attività a uso intensivo di memoria con prestazioni elevate per carichi di lavoro che elaborano set di dati di grandi dimensioni in memoria
Best practice
Linee guida per la selezione dei worker
Avvio con worker standard (G.1X, G.2X) per la maggior parte dei carichi di lavoro
Usare worker R in caso di frequenti errori o carichi di lavoro di esaurimento della memoria con operazioni che richiedono molta memoria come caching, shuffling e aggregazione
Considerare G.12X/G.16X per carichi di lavoro ad alta intensità di calcolo che richiedono il massimo delle risorse
Considerare i vincoli di capacità per l'utilizzo di nuovi tipi di worker in flussi di lavoro urgenti
Ottimizzazione delle prestazioni
Monitorare i parametri di CloudWatch per comprendere l'utilizzo delle risorse
Utilizzare il numero di worker appropriato in base alla dimensione e alla complessità dei dati
Considerare le strategie di partizionamento dei dati per ottimizzare l'efficienza dei worker