

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# AWS Glue tipi di lavoratori
<a name="worker-types"></a>

## Panoramica di
<a name="worker-types-overview"></a>

AWS Glue offre diversi tipi di lavoratori per soddisfare diversi requisiti di carico di lavoro, da piccoli lavori in streaming a 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
<a name="worker-type-categories"></a>

AWS Glue offre due categorie principali di tipi di lavoratori:
+ **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 dati (DPUs)
<a name="data-processing-units"></a>

Le risorse disponibili per i AWS Glue lavoratori sono misurate in DPUs. Una DPU è una misura relativa della potenza di elaborazione costituita da 4 V CPUs di capacità di elaborazione e 16 GB di memoria.

**Ottimizzato per la memoria DPUs (M-DPUs):** i lavoratori di tipo R utilizzano M-DPUs, che fornisce il doppio dell'allocazione di memoria per una determinata dimensione rispetto allo standard. DPUs 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
<a name="available-worker-types"></a>

### G.1X
<a name="g1x-standard-worker"></a>
+ **DPU**: 1 DPU (4 vCPUs, 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
<a name="g2x-standard-worker"></a>
+ **DPU**: 2 DPU (8 vCPUs, 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
<a name="g4x-large-worker"></a>
+ **DPU**: 4 DPU (16 vCPUs, 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
<a name="g8x-extra-large-worker"></a>
+ **DPU**: 8 DPU (32 vCPUs, 128 GB di memoria)
+ **Memoria**: disco da 512 GB (circa 485 GB liberi)
+ **Caso d'uso**: trasformazioni, aggregazioni, join e query con i maggiori requisiti

### G.12X
<a name="g12x-very-large-worker"></a>
+ **DPU**: 12 DPU (48 vCPUs, 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
<a name="g16x-maximum-worker"></a>
+ **DPU**: 16 DPU (64 vCPUs, 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 - Ottimizzato per la memoria\$1
<a name="r1x-memory-optimized-small"></a>
+ **DPU: 1 M-DPU** (4 v, 32 GB di memoria) CPUs
+ **Caso d'uso**: carichi di lavoro a uso intensivo di memoria con errori frequenti o requisiti di rapporto elevato out-of-memory memory-to-CPU

### R.2X - Ottimizzato per la memoria\$1
<a name="r2x-memory-optimized-medium"></a>
+ **DPU: 2 M-DPU** (8 v, 64 GB di memoria) CPUs
+ **Caso d'uso**: carichi di lavoro a uso intensivo di memoria con errori frequenti o requisiti di rapporto elevato out-of-memory memory-to-CPU

### R.4X - Ottimizzato per la memoria\$1
<a name="r4x-memory-optimized-large"></a>
+ **DPU: 4 M-DPU** (16 v, 128 GB di memoria) CPUs
+ **Caso d'uso**: grandi carichi di lavoro che richiedono molta memoria con errori frequenti o requisiti di rapporto elevato out-of-memory memory-to-CPU

### R.8X - Ottimizzato per la memoria\$1
<a name="r8x-memory-optimized-extra-large"></a>
+ **DPU: 8 M-DPU** (32 v, 256 GB di memoria) CPUs
+ **Caso d'uso**: carichi di lavoro molto grandi che richiedono molta memoria con errori frequenti o requisiti di rapporto elevato out-of-memory memory-to-CPU

**\$1**È 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
<a name="worker-type-specifications"></a>


**Specifiche del tipo di worker**  

| Tipo di worker | DPU per nodo | VPCU | Memoria (GB) | Disco (GB) | Spazio libero su disco approssimativo (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 | 
| R.1 X | 1 | 4 | 32 | 94 | 44 | 1 | 
| R.2X | 2 | 8 | 64 | 138 | 78 | 1 | 
| R. 4X | 4 | 16 | 128 | 256 | 230 | 1 | 
| R.8X | 8 | 32 | 256 | 512 | 485 | 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
<a name="important-considerations"></a>

### Latenza di avvio
<a name="startup-latency"></a>

**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
<a name="choosing-right-worker-type"></a>

### Per carichi di lavoro ETL standard
<a name="standard-etl-workloads"></a>
+ **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
<a name="large-scale-workloads"></a>
+ **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
<a name="memory-intensive-workloads"></a>
+ **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
<a name="cost-optimization-considerations"></a>
+ **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
<a name="best-practices"></a>

### Linee guida per la selezione dei worker
<a name="worker-selection-guidelines"></a>

1. **Avvio con worker standard** (G.1X, G.2X) per la maggior parte dei carichi di lavoro

1. **Usa R worker** in caso di out-of-memory errori o carichi di lavoro frequenti con operazioni che richiedono molta memoria come caching, shuffling e aggregazione

1. **Considerare G.12X/G.16X** per carichi di lavoro ad alta intensità di calcolo che richiedono il massimo delle risorse

1. **Considerare i vincoli di capacità** per l'utilizzo di nuovi tipi di worker in flussi di lavoro urgenti

### Ottimizzazione delle prestazioni
<a name="performance-optimization"></a>
+  CloudWatch Monitora le metriche 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