

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Spark アップグレードエージェントのワークフローの詳細
<a name="emr-spark-upgrade-agent-workflow-details"></a>

アップグレードプロセスを開始するには、Spark アプリケーションコードを開発者環境 (ローカルまたは EC2 または [ Amazon SageMaker Unified Studio IDE スペース) ](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/create-space.html)にクローンする必要があります。できれば Git バージョン管理を初期化します。さらに、ターゲット Spark バージョンを実行している EMR クラスターはプロビジョニングされ、アクセス可能である必要があります。最後に、アップグレードプロセス全体でデプロイアーティファクトとアップグレードの概要を保存するように、指定された Amazon S3 バケットパスを設定する必要があります。

これらの要件が確立されたら、次のようなプロンプトを送信してアップグレードワークフローを開始できます。

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

この時点で、エージェントは特殊なツールを使用してアップグレードを調整します ([詳細については](emr-spark-upgrade-agent-tools.md))。ワークフローは次のステップに従います。

1. **計画の生成**: エージェントはプロジェクト構造を分析し、アップグレード計画を生成します。プランを確認し、続行することに同意してください。

1. **計画のレビューとカスタマイズ**: 計画を確認するプロンプトが表示されたら、いくつかのオプションがあります。

   1. **そのまま続行する**: 計画を受け入れて実行を続行する

   1. **フィードバックを提供する**: 次の方法でプランをカスタマイズします。

      1. 不要なステップの削除 - 例: 統合テストの実行を削除します。ローカルでのみコンパイル/ビルドし、EMR 検証に進みます。

      1. 追加のステップの追加 - 例: EMR 検証`tests/test_jobs/test_etl_job_x.py`の前にテストファイルを実行するステップを追加します。

      1. アップグレードアプローチの変更 - 例: ビルドおよび検証ステップ中に Python 3.10 および Java 17 を適用します。

1. エージェントは、フィードバックに基づいてプランを再生成し、再度同意を求めます。このプロセスは、最終計画を承認するまで続行されます。

1. **コンパイルとビルド**: エージェントは、アプリケーションが正常にコンパイルおよびビルドされるまで、ビルドエラーを修正するために反復的な変更を行います。

1. **Run unit and Integration Tests**: プロジェクトにテストがある場合、エージェントはビルドが成功した後にテストを実行します。テストが失敗した場合、エージェントはテストが合格するまでソースコードを繰り返し変更してから EMR 検証に進みます。

1. **ランタイムの修正と検証**: エージェントはターゲット EMR クラスター上のアプリケーションを検証し、検証が成功するまでランタイムエラーを繰り返し修正します。完了すると、互換性のために行われたすべての変更の概要が表示されます。

1. **アップグレードの概要**: アップグレードが完了すると、エージェントはすべてのコードと設定の変更、依存関係バージョンの更新、検出されたデータ品質の不一致の概要を確認して提供します。