Detalhes do fluxo de trabalho do Spark Upgrade Agent - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Detalhes do fluxo de trabalho do Spark Upgrade Agent

Para iniciar o processo de atualização, você precisará clonar o código do aplicativo Spark em seu ambiente de desenvolvedor (localmente ou no EC2 Amazon SageMaker Unified Studio IDE Spaces), de preferência com o controle de versão do Git inicializado. Além disso, um cluster EMR executando a versão de destino do Spark deve ser provisionado e acessível. Finalmente, um caminho de bucket designado do Amazon S3 deve ser configurado para armazenar artefatos de implantação e resumo da atualização durante todo o processo de atualização.

Depois que esses requisitos forem estabelecidos, você poderá enviar uma solicitação como a seguinte para iniciar o fluxo de trabalho de atualização:

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.

Nesse momento, o agente orquestrará a atualização usando ferramentas especializadas (para obter mais detalhes). O fluxo de trabalho segue estas etapas:

  1. Gerar plano: o agente analisará a estrutura do seu projeto e gerará um plano de atualização. Revise o plano e forneça seu consentimento para continuar.

  2. Revisão e personalização do plano: quando solicitado a revisar o plano, você tem várias opções:

    1. Proceda como está: aceite o plano e continue com a execução

    2. Forneça feedback: personalize o plano da seguinte forma:

      1. Removendo etapas desnecessárias - Exemplo: remova qualquer execução de teste de integração. Somente compile/build localmente e, em seguida, prossiga com a validação do EMR.

      2. Adicionar etapas adicionais - Exemplo: adicione uma etapa para executar o arquivo de teste tests/test_jobs/test_etl_job_x.py antes da validação do EMR.

      3. Modificando a abordagem de atualização - Exemplo: aplique o Python 3.10 e o Java 17 durante as etapas de construção e validação.

  3. O agente regenerará o plano com base em seus comentários e solicitará seu consentimento novamente. Esse processo continua até que você aprove o plano final.

  4. Compilar e criar: o agente fará alterações iterativas para corrigir erros de compilação até que o aplicativo seja compilado e compilado com êxito.

  5. Execute testes unitários e de integração: se o projeto tiver testes, o agente executará os testes após uma compilação bem-sucedida. Se algum teste falhar, o agente modificará o código-fonte iterativamente até que os testes sejam aprovados antes de prosseguir com a validação do EMR.

  6. Correções e validação de tempo de execução: o agente validará o aplicativo no cluster EMR de destino e corrigirá iterativamente quaisquer erros de tempo de execução até que a validação seja bem-sucedida. Ao concluir, você verá um resumo de todas as alterações feitas para fins de compatibilidade.

  7. Resumo da atualização: quando a atualização for concluída, o agente fornecerá um resumo de todas as alterações de código e configuração, atualizações de versão de dependência e quaisquer incompatibilidades de qualidade de dados detectadas para sua análise.