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. È possibile 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
Configurazione di una finestra di manutenzione
Puoi configurare una finestra di manutenzione utilizzando AWS Glue Studio o le API.
Configurazione di una finestra di manutenzione in Studio AWS Glue
È possibile specificare una finestra di manutenzione nella pagina Job Details del job AWS Glue Streaming. È possibile 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"
Un comando di esempio è il seguente:
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 lavoro. 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 imposti la finestra di manutenzione per lunedì alle 10:00 GMT, i lavori verranno riavviati tra le 10:00 GMT e le 13:00 GMT.
Se la finestra di manutenzione non è configurata, imposta AWS Glue automaticamente l'ora di riavvio su 7 giorni dopo l'inizio dell'esecuzione del processo. Ad esempio, se hai avviato il processo il 01/07/2024 alle 12:00 GMT e non hai specificato gli intervalli di manutenzione, il processo verrà impostato per il riavvio il 7/8/2024 alle 00:00 GMT.
Nota
Se stai già eseguendo lavori di streaming, questa modifica avrà effetto su di te a partire dal 1° luglio 2024. Avrai tempo fino al 30 giugno per configurare le finestre di manutenzione. Dopo il 1° luglio, tutti i processi di streaming che inizierai 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 processo 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 job di streaming, mostra la colonna nella tabella Job run nella pagina Monitoring.
Fai clic sull'icona a forma di ingranaggio in alto a destra della tabella.
Scorri verso il basso e attiva la colonna Tempo di riavvio previsto. Sono disponibili sia l'ora UTC che l'ora locale.
È quindi possibile visualizzare le colonne della tabella.
Il lavoro originale avrà lo stato «EXPIRED» e la nuova istanza di job avrà lo stato «IN ESECUZIONE». La nuova esecuzione del processo che è stata riavviata avrà un ID di esecuzione del processo 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 job èjr_1234
, l'esecuzione del job riavviata avrà l'ID del primo riavvio. jr1234_restart_1
Il secondo riavvio riguarderà jr1234_restart_2
il secondo riavvio e così via.
I riavvii non influiranno sul tentativo di riavvio. Se un'esecuzione fallisce e ne viene avviata una nuova a causa di un nuovo tentativo automatico, il contatore di riavvio ricomincerà da 1. Ad esempio, se un'esecuzione ha esito negativojr_1234_attempt_3_restart_5
, un nuovo tentativo automatico avvierà una nuova esecuzione con ID: jr_id1_attempt_4
e quando questo tentativo viene 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 lavoro 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. Questo processo prevede i seguenti passaggi:
Interruzione dell'inserimento di nuovi dati: il processo di streaming smette di consumare nuovi dati dalle fonti di input (ad esempio, argomenti Kafka, stream 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 job trasferisce gli offset o i checkpoint più recenti su sistemi esterni (ad esempio, Kafka, Kinesis o Amazon S3) per garantire che il processo riavviato possa riprendere da dove era stato interrotto il lavoro precedente.
Riavvio del processo: una volta completato il corretto processo di terminazione, 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 confermato, ed elabora i dati secondo la logica ETL definita.