Amazon EMR on EKS を使用して Amazon S3 Express One Zone にデータをアップロードする - Amazon EMR

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

Amazon EMR on EKS を使用して Amazon S3 Express One Zone にデータをアップロードする

リリース 7.2.0 以降の Amazon EMR では、Amazon EMR on EKS を Amazon S3 Express One Zone ストレージクラスと組み合わせて使用することで、ジョブとワークロードを実行する際のパフォーマンスを向上させることができます。S3 Express One Zone は、最もレイテンシーの影響を受けやすいアプリケーションに 1 桁のミリ秒単位で一貫したデータアクセスを提供する、高パフォーマンスの単一ゾーンの Amazon S3 ストレージクラスです。リリース時点で、S3 Express One Zone は、Amazon S3 の中でレイテンシーが最も低く、パフォーマンスの最も高いクラウドオブジェクトストレージを提供しています。

前提条件

Amazon EMR on EKS で S3 Express One Zone を使用するには、次の前提条件を満たしている必要があります。

S3 Express One Zone の使用を開始する

S3 Express One Zone の使用を開始するには、次の手順に従います。

  1. CreateSession アクセス許可をジョブの実行ロールに追加します。S3 Express One Zone が S3 オブジェクトに対して GETLISTPUT などのアクションを最初に実行すると、ストレージクラスがユーザーに代わって CreateSession を呼び出します。次の例は、CreateSession 権限を付与する方法を示しています。

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:s3express:<AWS_REGION>:<ACCOUNT_ID>:bucket/DOC-EXAMPLE-BUCKET", "Action": [ "s3express:CreateSession" ] } ] }
  2. Apache Hadoop コネクタ S3A を使用して S3 Express バケットにアクセスする必要があるため、Amazon 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" } } ]
  3. spark-submit 設定で、ウェブ ID 認証情報プロバイダーを使用します。

    "spark.hadoop.fs.s3a.aws.credentials.provider=com.amazonaws.auth.WebIdentityTokenCredentialsProvider"