

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
<a name="emr-spark-upgrade-agent-workflow-details"></a>

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](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/create-space.html)), 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](emr-spark-upgrade-agent-tools.md)). 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.

1. **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

   1. **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.

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

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

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

1. **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.

1. **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.

1. **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.

1. **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.