翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
機能と機能
サポートされているテクノロジー
-
言語: Python および Scala アプリケーション
-
ビルドシステム: Scala プロジェクトの場合は Maven と SBT、Python プロジェクトの場合は requirements.txt、Pipfile、Setuptools
-
ターゲットプラットフォーム: Amazon EMR と EMR Serverless
-
サポートされているバージョン: バージョン 2.4 から 3.5 への Apache Spark のアップグレードをサポートしています。対応するデプロイモードのマッピングは次のとおりです。
-
EMR-EC2 の場合
-
ソースバージョン: EMR 5.20.0 以降
-
ターゲットバージョン: EMR 7.12.0 以前、EMR 5.20.0 より新しい必要があります
-
-
EMR Serverless の場合
-
ソースバージョン: EMR Serverless 6.6.0 以降
-
ターゲットバージョン: EMR Serverless 7.12.0 以前
-
-
アップグレードの内容
アップグレードエージェントは、包括的な Spark アプリケーションアップグレードを提供します。
-
ビルド設定: 依存関係管理ファイル (pom.xml、 requirements.txt など) を自動的に更新します。
-
ソースコード: API の互換性の問題と廃止されたメソッドの使用を修正
-
テストコード: ユニットテストと統合テストがターゲット Spark バージョンで動作することを確認します
-
依存関係: パッケージ化された依存関係をターゲット EMR バージョンと互換性のあるバージョンにアップグレードします
-
検証: ターゲット EMR クラスターでアプリケーションをコンパイルして検証します
-
データ品質分析: スキーマの違い、値レベルの統計ドリフト (min/max/mean)、行数の不一致の集計を検出し、詳細な影響レポートを提供します。
利用できるリージョン
Spark アップグレードエージェントは、次のリージョンで使用できます。
-
アジアパシフィック: 東京 (ap-northeast-1)、ソウル (ap-northeast-2)、シンガポール (ap-southeast-1)、シドニー (ap-southeast-2)、ムンバイ (ap-south-1)
-
北米: カナダ (ca-central-1)
-
欧州: ストックホルム (eu-north-1)、アイルランド (eu-west-1)、ロンドン (eu-west-2)、パリ (eu-west-3)、フランクフルト (eu-central-1)
-
南米: サンパウロ (sa-east-1)
-
米国: バージニア北部 (us-east-1)、オハイオ (us-east-2)、オレゴン (us-west-2)
アップグレードの範囲とユーザー要件
-
クラスター管理: Spark Upgrade Agent は、アプリケーションコードのアップグレードに焦点を当てています。新しいバージョンのターゲット EMR クラスターは、ユーザーが作成および管理する必要があります。
-
ブートストラップアクション: Spark Upgrade Agent は、Spark アプリケーションコードの外部でカスタムブートストラップスクリプトをアップグレードしません。ユーザーがアップグレードする必要があります。
-
ビルドとテストのアップグレード: アップグレードエージェントは、開発環境でビルドを実行し、ユニットテストと統合テストをローカルで実行して、アプリケーションがターゲット Spark バージョンで正常にコンパイルされたことを確認します。ローカル実行用の Spark アプリケーションコードに制限 (セキュリティポリシー、リソース制限、ネットワーク制限、または企業ガイドライン) がある場合は、Amazon SageMaker Unified Studio VSCode IDE Spaces または EC2 を使用してアップグレードエージェントを実行することを検討してください。アップグレードエージェントは、ターゲット EMR-EC2 クラスターまたは EMR-S アプリケーションを使用して、end-to-endの検証とアップグレードを行います。
-
エラー駆動型アプローチ: アップグレードエージェントはエラー駆動型方法論を使用し、一度に複数の修正ではなく、コンパイルエラーまたはランタイムエラーに基づいて一度に 1 つの修正を行います。この反復的なアプローチにより、次に進む前に各問題が適切に対処されます。
-
プライベート依存関係: プライベートアーティファクトリポジトリからインストールされた依存関係は、このプロセスの一部として自動的にアップグレードすることはできません。ユーザーがアップグレードする必要があります。
-
リージョン別リソース: Spark アップグレードエージェントはリージョン別であり、そのリージョンの基盤となる EMR リソースをアップグレードプロセスに使用します。クロスリージョンアップグレードはサポートされていません。