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 scalabilità automatica dello streaming
AWS Glue i lavori ETL in 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
Attivazione 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.
Abilitazione dell'Auto Scaling con AWS CLI o SDK
Per abilitare Auto Scaling dalla AWS CLI per l'esecuzione del processo, esegui start-job-run con la seguente configurazione:
{ "JobName": "<your job name>", "Arguments": { "--enable-auto-scaling": "true" }, "WorkerType": "G.2X", // G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X, and R.8X are supported for Auto Scaling Jobs "NumberOfWorkers": 20, // represents Maximum number of workers ...other job run configurations... }
Una volta terminata l'esecuzione del job ETL, puoi anche effettuare una chiamata get-job-run per verificare l'effettivo utilizzo delle risorse del job in esecuzione. DPU-seconds Nota: il nuovo campo dpuSeconds verrà visualizzato solo per i lavori 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 dei processi con Auto Scaling utilizzando l'SDK AWS Glue con la stessa configurazione.
Come funziona
Dimensionamento tra microbatch
L'esempio seguente viene utilizzato per descrivere come funziona il dimensionamento automatico.
-
Hai un AWS Glue processo che inizia con 50 DPU.
-
Il dimensionamento automatico è abilitato.
In questo esempio, AWS Glue esamina la metrica ProcessingTimeInMs «batch «per alcuni microbatch 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 AllExecutors «numero», 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 executor e osserva che il volume di dati aumenta, con conseguente aumento del tempo di elaborazione in microbatch, AWS Glue scalerà fino a 50 DPU, 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. Per le finestre più lunghe, il dimensionamento automatico è utile per rispondere più rapidamente all'interno del microbatch, anziché attendere pochi 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