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à.
Finestre di manutenzione per AWS Glue lo streaming
AWS Glue esegue periodicamente attività di manutenzione. Durante queste finestre di manutenzione, AWS Glue sarà necessario riavviare i processi di streaming. Puoi controllare quando i lavori vengono riavviati specificando le finestre di manutenzione. In questa sezione, descriviamo dove è possibile configurare la finestra di manutenzione e i comportamenti specifici da prendere in considerazione.
Argomenti
Impostazione della finestra di manutenzione
È possibile impostare una finestra di manutenzione utilizzando AWS Glue Studio o APIs.
Configurazione di una finestra di manutenzione in AWS Glue Studio
È possibile specificare una finestra di manutenzione nella pagina Job Details del job AWS Glue Streaming. Puoi specificare il giorno e l'ora in GMT. AWS Glue riavvierà il lavoro entro la finestra temporale specificata.
Configurazione di una finestra di manutenzione nell'API
In alternativa, puoi configurare la finestra di manutenzione nell'API Create Job. Ecco un esempio di configurazione di una finestra di manutenzione tramite l'API.
aws glue create-job —name jobName —role roleArnForTheJob —command Name=gluestreaming,ScriptLocation=s3-path-to-the-script --maintenance-window="Sun:10"
Di seguito è riportato un comando di esempio:
aws glue create-job —name testMaintenance —role arn:aws:iam::012345678901:role/Glue_DefaultRole —command Name=gluestreaming,ScriptLocation=s3://glue-example-test/example.py —maintenance-window="Sun:10
Comportamento della finestra di manutenzione
AWS Glue esegue una serie di passaggi per decidere quando riavviare un lavoro:
Quando viene avviato un nuovo processo di streaming, verifica AWS Glue innanzitutto se è presente un timeout associato all'esecuzione del lavoro. Un timeout consente di configurare l'ora di fine del processo. Se il timeout è inferiore a 7 giorni, il processo non verrà riavviato.
Se il timeout è superiore a 7 giorni, AWS Glue controlla se la finestra di manutenzione è configurata per il lavoro. In tal caso, quella finestra viene selezionata e la finestra viene assegnata all'esecuzione del lavoro. AWS Glue riavvierà il lavoro entro 3 ore dalla finestra di manutenzione specificata. Ad esempio, se la finestra di manutenzione viene impostata per lunedì alle 10:00 GMT, i processi verranno riavviati tra le 10:00 GMT e le 13:00 GMT.
Se la finestra di manutenzione non è configurata, imposta AWS Glue automaticamente il tempo di riavvio su 7 giorni dopo l'inizio dell'esecuzione del processo. Ad esempio, se hai avviato il lavoro il giorno 1/7/2024 alle 12:00 GMT e non hai specificato gli intervalli di manutenzione, il lavoro verrà impostato per il riavvio il giorno 8/7/2024 alle 12:00 GMT.
Nota
Se stai già eseguendo lavori di streaming, questa modifica avrà effetto su di te a partire dal 1° luglio 2024. Hai tempo fino al 30 giugno per configurare le finestre di manutenzione. Dopo il 1° luglio, tutti i processi di streaming avviati verranno riavviati in base a questa documentazione. Se hai bisogno di ulteriore assistenza, puoi contattare l' AWS assistenza.
A volte, AWS Glue potrebbe non essere possibile riavviare il processo, specialmente quando il microbatch in corso non viene elaborato. In questi casi, il lavoro non verrà interrotto. In questi casi, AWS Glue riavvierà il processo dopo 14 giorni e, in questo caso, la finestra di manutenzione non verrà rispettata.
Monitoraggio del lavoro
È possibile monitorare i lavori nella pagina AWS Glue Studio Monitoring.
Per vedere il prossimo orario di riavvio previsto dei lavori di streaming, mostra la colonna nella tabella Esecuzione lavoro nella pagina Monitoraggio.
Fai clic sull'icona a forma di ingranaggio in alto a destra nella tabella.
Scorri verso il basso e attiva la colonna Tempo di riavvio previsto. Sono disponibili sia l'ora UTC che l'ora locale.
Puoi quindi visualizzare le colonne nella tabella.
Il lavoro originale avrà lo stato “SCADUTO” e la nuova istanza di lavoro avrà lo stato “IN ESECUZIONE”. La nuova esecuzione del lavoro che è stato riavviato avrà un ID di esecuzione del lavoro come concatenazione dell'ID iniziale dell'esecuzione del processo più il prefisso “restart_”, che rappresenta il conteggio dei riavvii. Ad esempio, se l'ID iniziale dell'esecuzione del lavoro è jr_1234, l'esecuzione del lavoro riavviato avrà l'ID jr1234_restart_1 del primo riavvio. Il secondo riavvio sarà jr1234_restart_2 per il secondo riavvio e così via.
I riavvii non influiscono sui tentativi. Se un'esecuzione fallisce viene avviata una nuova esecuzione di un nuovo tentativo automatico, il contatore di riavvio ricomincerà da 1. Ad esempio, se un'esecuzione ha esito negativo a jr_1234_attempt_3_restart_5, un nuovo tentativo automatico avvierà una nuova esecuzione con ID: jr_id1_attempt_4. Quando questo tentativo verrà riavviato dopo 7 giorni, il nuovo ID di esecuzione sarà: jr_id1_attempt_4_restart_1.
Gestione della perdita di dati
Durante i riavvii di manutenzione, AWS Glue Streaming segue un processo che garantisce l'integrità e la coerenza dei dati tra l'esecuzione del processo precedente e l'esecuzione del processo riavviato. Tieni presente che AWS Glue non garantisce l'integrità e la coerenza dei dati tra i riavvii dei processi e consigliamo di prendere in considerazione l'architettura per gestire i dati duplicati all'interno dei processi di streaming.
Rilevamento delle condizioni di riavvio per manutenzione: AWS Glue lo streaming monitora le condizioni che indicano quando deve essere attivato un riavvio di manutenzione, ad esempio quando viene raggiunta una finestra di manutenzione dopo 7 giorni o è necessario un riavvio forzato dopo 14 giorni.
Richiamo di un'interruzione graduale: quando vengono soddisfatte le condizioni di riavvio della manutenzione, AWS Glue Streaming avvia un processo di interruzione graduale per il processo attualmente in esecuzione. Il processo prevede le seguenti fasi:
Interruzione dell'inserimento di nuovi dati: il lavoro di streaming smette di consumare nuovi dati dalle fonti di input (ad esempio, argomenti Kafka, dirette Kinesis o file).
Elaborazione dei dati in sospeso: il processo continua a elaborare tutti i dati già presenti nei buffer o nelle code interni.
Immissione di offset e checkpoint: il lavoro trasferisce gli offset o i checkpoint più recenti su sistemi esterni (ad esempio, Kafka, Kinesis o Amazon S3) per garantire che il lavoro riavviato possa riprendere da dove è stato interrotto il lavoro precedente.
Riavvio del lavoro: una volta completato il processo di interruzione graduale, Streaming riavvia il lavoro utilizzando lo stato e i checkpoint preservati. AWS Glue Il lavoro riavviato riprende l'elaborazione dall'ultimo offset o checkpoint eseguito, assicurando che nessun dato venga perso o duplicato.
Ripresa dell'elaborazione dei dati: il lavoro riavviato riprende l'elaborazione dei dati dal punto in cui era stato interrotto il lavoro precedente. Continua a importare nuovi dati dalle fonti di input, a partire dall'ultimo offset o checkpoint impegnato ed elabora i dati secondo la logica ETL definita.