整合性のあるビューを設定する - Amazon EMR

整合性のあるビューを設定する

emrfs-site プロパティの設定プロパティを使用して、整合性のあるビューに追加の設定を構成できます。たとえば、emrfs-site 設定分類 (Amazon EMR リリースバージョン 4.x 以降のみ)、またはマスターノードに emrfs-site.xml ファイルを設定するブートストラップアクションを使用して、CLI の --emrfs オプションに次の引数を指定することで、デフォルトの DynamoDB スループットとして異なる値を選択できます。

例 クラスター起動時のデフォルトのメタデータの読み取りおよび書き込み値の変更
aws emr create-cluster --release-label emr-5.36.1 --instance-type m5.xlarge \ --emrfs Consistent=true,Args=[fs.s3.consistent.metadata.read.capacity=600,\ fs.s3.consistent.metadata.write.capacity=300] --ec2-attributes KeyName=myKey

別の方法として、次の設定ファイルを使用し、ローカルまたは Amazon S3 に保存します。

[ { "Classification": "emrfs-site", "Properties": { "fs.s3.consistent.metadata.read.capacity": "600", "fs.s3.consistent.metadata.write.capacity": "300" } } ]

次の構文で作成した設定を使用します。

aws emr create-cluster --release-label emr-5.36.1 --applications Name=Hive \ --instance-type m5.xlarge --instance-count 2 --configurations file://./myConfig.json
注記

読みやすくするために、Linux 行連続文字 (\) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

次のオプションは、設定または AWS CLI の --emrfs 引数を使用して設定できます。それらの引数については、「AWS CLI コマンドリファレンス」を参照してください。

整合性のあるビューの emrfs-site.xml プロパティ
プロパティ デフォルト値 説明
fs.s3.consistent false

true に設定すると、このプロパティは DynamoDB を使用して整合性を確保するように EMRFS を設定します。

fs.s3.consistent.retryPolicyType exponential このプロパティは、整合性に関する問題について再試行するときに使用するポリシーを識別します。オプションは、exponential、fixed、または none です。
fs.s3.consistent.retryPeriodSeconds 1 このプロパティは、整合性の再試行間の待機時間を設定します。
fs.s3.consistent.retryCount 10 このプロパティは、不整合が検出されたときの最大の再試行回数を設定します。
fs.s3.consistent.throwExceptionOnInconsistency true このプロパティは、整合性の例外をスローまたは記録するかどうかを決定します。true に設定すると、ConsistencyException がスローされます。
fs.s3.consistent.metadata.autoCreate true true に設定すると、このプロパティはメタデータテーブルの自動作成を有効にします。
fs.s3.consistent.metadata.etag.verification.enabled true Amazon EMR 5.29.0 では、このプロパティはデフォルトで有効になっています。有効にすると、EMRFS は S3 ETags を使用して、読み取られているオブジェクトが利用可能な最新バージョンであることを確認します。この機能は、S3 上のファイルが同じ名前を維持しながら上書きされる、更新後の読み取りのユースケースに役立ちます。この ETag 検証機能は、現在 S3 Select では使用できません。
fs.s3.consistent.metadata.tableName EmrFSMetadata このプロパティは、DynamoDB 内のメタデータテーブルの名前を指定します。
fs.s3.consistent.metadata.read.capacity 500 このプロパティは、メタデータテーブルの作成時に DynamoDB の読み込みキャパシティーをプロビジョニングすることを指定します。
fs.s3.consistent.metadata.write.capacity 100 このプロパティは、メタデータテーブルの作成時に DynamoDB の書き込みキャパシティーをプロビジョニングすることを指定します。
fs.s3.consistent.fastList true true に設定すると、このプロパティは複数のスレッドを使用してディレクトリを一覧表示します (必要な場合)。このプロパティを使用するには、整合性を有効にする必要があります。
fs.s3.consistent.fastList.prefetchMetadata false true に設定すると、このプロパティは 20,000 以上の項目を含むディレクトリに対してメタデータのプリフェッチを有効にします。
fs.s3.consistent.notification.CloudWatch false true に設定すると、Amazon S3 の結果整合性の問題が原因で失敗する FileSystem API 呼び出しに対して CloudWatch メトリクスが有効になります。
fs.s3.consistent.notification.SQS false true に設定すると、結果整合性の通知が Amazon SQS キューにプッシュされます。
fs.s3.consistent.notification.SQS.queueName EMRFS-Inconsistency-<jobFlowId> このプロパティを変更すると、Amazon S3 の結果整合性の問題に関するメッセージに対して、独自の SQS キュー名を指定できます。
fs.s3.consistent.notification.SQS.customMsg none このプロパティでは、Amazon S3 の結果整合性の問題に関する SQS メッセージに含まれるカスタム情報を指定できます。このプロパティに対して値が指定されていない場合、メッセージの対応するフィールドは空になります。
fs.s3.consistent.dynamodb.endpoint none このプロパティを使用して、整合性のあるビューのメタデータにカスタム DynamoDB エンドポイントを指定できます。
fs.s3.useRequesterPaysHeader false true に設定すると、このプロパティは、リクエスト支払いオプションが有効になっているバケットへの Amazon S3 リクエストを許可します。