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 i ETL lavori di streaming consumano continuamente dati provenienti da fonti di streaming, puliscono e trasformano i dati in corso di elaborazione e li rendono disponibili per l'analisi. Monitorando ogni fase dell'esecuzione del lavoro, la AWS Glue scalabilità automatica può disattivare i lavoratori quando sono inattivi o aggiungere lavoratori se è possibile un'ulteriore elaborazione parallela.
Le seguenti sezioni forniscono informazioni sulla scalabilità automatica in streaming AWS Glue
Abilitazione dell'Auto Scaling in AWS Glue Studio
Nella scheda Dettagli del lavoro in AWS Glue Studio, scegli il tipo come Spark o Spark Streaming e la versione Glue come Glue 3.0
o. Glue 4.0
In seguito, una casella di controllo verrà visualizzata sotto Worker type (tipo di worker).
-
Seleziona l'opzione Dimensiona automaticamente il numero di worker.
-
Imposta la proprietà Numero massimo di dipendenti per definire il numero massimo di dipendenti che possono essere ceduti all'esecuzione del processo.
Attivazione dell'Auto Scaling con o AWS CLI SDK
Per abilitare Auto Scaling From AWS CLI for your job run, esegui start-job-run
con la seguente configurazione:
{
"JobName": "<your job name>",
"Arguments": {
"--enable-auto-scaling": "true"
},
"WorkerType": "G.2X", // G.1X and G.2X are allowed for Auto Scaling Jobs
"NumberOfWorkers": 20, // represents Maximum number of workers
...other job run configurations...
}
Una volta ETL terminata l'esecuzione del processo, puoi anche chiamare get-job-run
per verificare l'effettivo utilizzo delle risorse del processo eseguito in DPU -secondi. Nota: il nuovo campo DPUSecondsverrà visualizzato solo per i lavori in batch nella AWS Glue versione 3.0 o successiva abilitata con Auto Scaling. Questo campo non è supportato per i processi di streaming.
$ aws glue get-job-run --job-name your-job-name --run-id jr_xx --endpoint https://glue.us-east-1.amazonaws.com --region us-east-1
{
"JobRun": {
...
"GlueVersion": "3.0",
"DPUSeconds": 386.0
}
}
È inoltre possibile configurare le esecuzioni di job con Auto Scaling utilizzando la AWS Glue SDKstessa configurazione.
Come funziona
Dimensionamento tra microbatch
L'esempio seguente viene utilizzato per descrivere come funziona il dimensionamento automatico.
-
Hai un AWS Glue lavoro che inizia con 50DPUs.
-
Il dimensionamento automatico è abilitato.
In questo esempio, AWS Glue esamina la metrica batchProcessingTime InMs ««per alcuni micro batch e determina se i lavori vengono completati entro le dimensioni della finestra stabilite. Se i tuoi processi vengono completati prima e a seconda della tempistica con cui vengono completati, AWS Glue potrebbe ridursi. Questa metrica, tracciata con» numberAllExecutors «, può essere monitorata Amazon CloudWatch per vedere come funziona la scalabilità automatica.
Il numero di esecutori aumenta o diminuisce in modo esponenziale solo dopo il completamento di ogni microbatch. Come si può vedere dal registro di Amazon CloudWatch monitoraggio, AWS Glue analizza il numero di executor necessari (linea arancione) e ridimensiona gli executor (linea blu) in modo che corrispondano automaticamente a tale numero.
Once AWS Glue riduce il numero di esecutori e osserva che il volume di dati aumenta, aumentando di conseguenza il tempo di elaborazione in microbatch, AWS Glue aumenterà fino a 50DPUs, che è il limite massimo specificato.
Dimensionamento all'interno di un microbatch
Nell'esempio precedente, il sistema monitora alcuni microbatch completati per decidere se eseguire un aumento o una riduzione. Le finestre più lunghe richiedono la scalabilità automatica per rispondere più rapidamente all'interno del microbatch, anziché attendere alcuni microbatch. In questi casi, è possibile utilizzare la configurazione aggiuntiva --auto-scaIe-within-microbatch
per true
. È possibile aggiungerlo alle proprietà del AWS Glue lavoro come illustrato di seguito. AWS Glue Studio