Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Cloud Shuffle Storage Plugin for Apache Spark

フォーカスモード
Cloud Shuffle Storage Plugin for Apache Spark - AWS Glue

Cloud Shuffle ストレージプラグインは ShuffleDataIO API と互換性のある Apache Spark プラグインで、シャッフルデータをクラウドストレージシステム (Amazon S3 など) に保存することを可能にします。この機能では、Spark アプリケーションにおいて joinreduceByKeygroupByKey、および repartition などの変換によってトリガーされることが多い、大規模なシャッフル操作用のローカルディスクストレージ容量を補充または置換できます。このため、サーバーレスデータ分析ジョブやパイプラインでの、一般的な障害やコスト対パフォーマンスの不整合を軽減するのに役立ちます。

AWS Glue

AWS Glue バージョン 3.0 と 4.0 には、このプラグインが事前インストールされており、特別な手順なしで Amazon S3 でシャッフルが利用可能になります。Spark アプリケーションでこの機能を有効にする方法については、「AWS Glue シャッフルマネージャーと Amazon S3 」を参照してください。

その他の Spark 環境

他の Spark 環境では、このプラグインに以下の Spark 構成を設定する必要があります。

  • --conf spark.shuffle.sort.io.plugin.class=com.amazonaws.spark.shuffle.io.cloud.ChopperPlugin: こSpark に対し、Shuffle IO 用としてこのプラグインを使用することを通知します。

  • --conf spark.shuffle.storage.path=s3://bucket-name/shuffle-file-dir: シャッフルファイルが保存されるパスです。

注記

このプラグインは、Spark コアクラスの 1 つを上書きします。そのため、プラグインの jar ファイルは、Spark jar に先行してロードする必要があります。プラグインを AWS Glue の外部で使用する場合は、オンプレミスの YARN 環境で userClassPathFirst を使用して、この処理を実行できます。

Spark アプリケーションへのプラグインのバンドル

Spark アプリケーションをローカルで開発する際、Maven pom.xml にプラグインの依存関係を追加することで、Spark アプリケーションと Spark ディストリビューション (バージョン 3.1 以降) にプラグインをバンドルできます。このプラグインと Spark バージョンの詳細については、「プラグインのバージョン」を参照してください。

<repositories> ... <repository> <id>aws-glue-etl-artifacts</id> <url>https://aws-glue-etl-artifacts.s3.amazonaws.com/release/ </url> </repository> </repositories> ... <dependency> <groupId>com.amazonaws</groupId> <artifactId>chopper-plugin</artifactId> <version>3.1-amzn-LATEST</version> </dependency>

別の方法として、以下のように AWS Glue Maven アーティファクトからバイナリを直接ダウンロードして、Spark アプリケーションにインクルードすることも可能です。

#!/bin/bash sudo wget -v https://aws-glue-etl-artifacts.s3.amazonaws.com/release/com/amazonaws/chopper-plugin/3.1-amzn-LATEST/chopper-plugin-3.1-amzn-LATEST.jar -P /usr/lib/spark/jars/

spark-submit の例

spark-submit --deploy-mode cluster \ --conf spark.shuffle.storage.s3.path=s3://<ShuffleBucket>/<shuffle-dir> \ --conf spark.driver.extraClassPath=<Path to plugin jar> \ --conf spark.executor.extraClassPath=<Path to plugin jar> \ --class <your test class name> s3://<ShuffleBucket>/<Your application jar> \

オプションの設定

これらは Amazon S3 シャッフルの動作を制御するための、オプションの設定値です。

  • spark.shuffle.storage.s3.enableServerSideEncryption: ファイルのシャッフルおよびスピルのために、S3 SSE を有効化/無効化します。デフォルト値は true です。

  • spark.shuffle.storage.s3.serverSideEncryption.algorithm: 使用される SSE アルゴリズム。デフォルト値は AES256 です。

  • spark.shuffle.storage.s3.serverSideEncryption.kms.key: aws:kms が有効になっている場合の KMS キーの ARN。

これらの構成に加え、ユースケースに応じて適切な暗号化が適用されるように spark.hadoop.fs.s3.enableServerSideEncryptionその他の環境固有の構成などの設定が必要になる場合があります。

プラグインのバージョン

このプラグインは、AWS Glue のバージョンごとに関連付けられている Spark バージョンで、それぞれサポートされています。次の表に、AWS Glue のバージョン、Spark バージョン、およびプラグインのソフトウェアバイナリ用の Amazon S3 ロケーションと関連付けたプラグインバージョンを示します。

AWS Glue バージョン Spark バージョン プラグインバージョン Amazon S3 ロケーション
3.0 3.1 3.1-amzn-LATEST

s3://aws-glue-etl-artifacts/release/com/amazonaws/chopper-plugin/3.1-amzn-0/chopper-plugin-3.1-amzn-LATEST.jar

4.0 3.3 3.3-amzn-LATEST

s3://aws-glue-etl-artifacts/release/com/amazonaws/chopper-plugin/3.3-amzn-0/chopper-plugin-3.3-amzn-LATEST.jar

ライセンス

このプラグインのソフトウェアバイナリは、Apache-2.0 License の下でライセンスされています。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.