翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
EMR Serverless を使用して S3 Express One Zone にデータを取得する
Amazon EMR リリース 7.2.0 以降では、Amazon S3 Express One Zone ストレージクラスで EMR Serverless を使用して、ジョブとワークロードを実行する際のパフォーマンスが向上します。S3 Express One Zone は、最もレイテンシーの影響を受けやすいアプリケーションに 1 桁のミリ秒単位で一貫したデータアクセスを提供する、高パフォーマンスの単一ゾーンの Amazon S3 ストレージクラスです。リリース時点で、S3 Express One Zone は、Amazon S3 の中でレイテンシーが最も低く、パフォーマンスの最も高いクラウドオブジェクトストレージを提供しています。
前提条件
-
S3 Express One Zone のアクセス許可 - S3 Express One Zone が S3 オブジェクトに対して
GET、LIST、PUTなどのアクションを最初に実行すると、ストレージクラスがユーザーに代わってCreateSessionを呼び出します。S3A コネクタがCreateSessionAPI を呼び出せるように、お使いの IAM ポリシーでs3express:CreateSessionアクセス許可を付与する必要があります。このアクセス許可ポリシーの例については、「S3 Express One Zone の使用を開始する」を参照してください。 -
S3A コネクタ - S3 Express One Zone ストレージクラスを使用する Amazon S3 バケットのデータにアクセスするように Spark クラスターを設定するには、Apache Hadoop コネクタ S3A を使用します。コネクタを使用するには、すべての S3 URI が
s3aスキームを使用していることを確認してください。使用していない場合は、s3スキームとs3nスキーム用にファイルシステム実装を変更します。
s3 スキームを変更するには、以下のクラスター設定を指定します。
[ { "Classification": "core-site", "Properties": { "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
s3n スキームを変更するには、以下のクラスター設定を指定します。
[ { "Classification": "core-site", "Properties": { "fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
S3 Express One Zone の使用を開始する
S3 Express One Zone の使用を開始するには、次の手順に従います。
-
VPC エンドポイントを作成します。エンドポイント
com.amazonaws.us-west-2.s3expressを VPC エンドポイントに追加します。 -
「Amazon EMR Serverless の使用を開始する」に従って、Amazon EMR リリースラベル 7.2.0 以降でアプリケーションを作成します。
-
新しく作成された VPC エンドポイント、プライベートサブネットグループ、セキュリティグループを使用するようにアプリケーションを設定します。
-
CreateSessionアクセス許可をジョブの実行ロールに追加します。 -
ジョブを実行します。S3 Express One Zone バケットにアクセスするには、
S3Aスキームを使用します。aws emr-serverless start-job-run \ --application-id<application-id>\ --execution-role-arn<job-role-arn>\ --name<job-run-name>\ --job-driver '{ "sparkSubmit": { "entryPoint": "s3a://<DOC-EXAMPLE-BUCKET>/scripts/wordcount.py", "entryPointArguments":["s3a://<DOC-EXAMPLE-BUCKET>/emr-serverless-spark/output"], "sparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=8g --conf spark.driver.cores=4 --conf spark.driver.memory=8g --conf spark.executor.instances=2 --conf spark.hadoop.fs.s3a.change.detection.mode=none --conf spark.hadoop.fs.s3a.endpoint.region={<AWS_REGION>} --conf spark.hadoop.fs.s3a.select.enabled=false --conf spark.sql.sources.fastS3PartitionDiscovery.enabled=false }'