Il flusso di lavoro di Spark Upgrade Agent in dettaglio - Amazon EMR

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à.

Il flusso di lavoro di Spark Upgrade Agent in dettaglio

Per avviare il processo di aggiornamento, è necessario clonare il codice dell'applicazione Spark nel tuo ambiente di sviluppo (localmente o EC2 Amazon SageMaker Unified Studio IDE Spaces), preferibilmente con il controllo della versione Git inizializzato. Inoltre, un cluster EMR che esegue la versione Spark di destinazione deve essere fornito e accessibile. Infine, è necessario configurare un bucket path Amazon S3 designato per archiviare gli elementi di distribuzione e il riepilogo dell'aggiornamento durante tutto il processo di aggiornamento.

Una volta stabiliti questi requisiti, puoi inviare una richiesta come la seguente per avviare il flusso di lavoro di aggiornamento:

Upgrade my Spark application <local-project-path> from EMR version 6.0.0 to 7.12.0. Use EMR-EC2 Cluster <cluster-id> to run the validation and s3 paths s3://<please fill in your staging bucket path> to store updated application artifacts.

A questo punto, l'agente orchestrerà l'aggiornamento utilizzando strumenti specializzati (per maggiori dettagli). Il flusso di lavoro segue questi passaggi:

  1. Genera piano: l'agente analizzerà la struttura del progetto e genererà un piano di aggiornamento. Rivedi il piano e fornisci il tuo consenso per procedere.

  2. Revisione e personalizzazione del piano: quando viene richiesto di rivedere il piano, sono disponibili diverse opzioni:

    1. Procedi così com'è: accetta il piano e prosegui con l'esecuzione

    2. Fornisci feedback: personalizza il piano in base a:

      1. Rimozione dei passaggi non necessari - Esempio: rimuovi qualsiasi esecuzione del test di integrazione. Solo compile/build localmente, quindi procedi alla convalida EMR.

      2. Aggiungere passaggi aggiuntivi - Esempio: aggiungere un passaggio per eseguire il file di test tests/test_jobs/test_etl_job_x.py prima della convalida EMR.

      3. Modifica dell'approccio di aggiornamento - Esempio: applica Python 3.10 e Java 17 durante le fasi di compilazione e convalida.

  3. L'agente rigenererà il piano in base al feedback dell'utente e chiederà nuovamente il consenso. Questo processo continua fino all'approvazione del piano finale

  4. Compilazione e compilazione: l'agente apporterà modifiche iterative per correggere gli errori di compilazione fino alla corretta compilazione e compilazione dell'applicazione.

  5. Esegui test di unità e integrazione: se il progetto prevede dei test, l'agente eseguirà i test dopo una compilazione riuscita. Se uno dei test fallisce, l'agente modificherà il codice sorgente in modo iterativo fino al superamento dei test prima di procedere alla convalida EMR.

  6. Correzioni e convalida del runtime: l'agente convaliderà l'applicazione sul cluster EMR di destinazione e correggerà iterativamente eventuali errori di runtime fino al completamento della convalida. Al termine, verrà visualizzato un riepilogo di tutte le modifiche apportate per motivi di compatibilità.

  7. Riepilogo dell'aggiornamento: una volta completato l'aggiornamento, l'agente fornirà un riepilogo di tutte le modifiche al codice e alla configurazione, degli aggiornamenti delle versioni delle dipendenze e di eventuali discrepanze rilevate nella qualità dei dati da esaminare.