EMR ファイルシステム (EMRFS) - Amazon EMR

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

EMR ファイルシステム (EMRFS)

EMR ファイルシステム (EMRFS) は、すべての Amazon EMRクラスターHDFSが Amazon から Amazon S3 EMRへの通常のファイルの読み取りと書き込みに使用する の実装です。 EMRFSは、Hadoop で使用できるように Amazon S3 に永続データを保存できるだけでなく、データ暗号化などの機能も備えています。

データ暗号化を使用すると、 が Amazon S3 にEMRFS書き込むオブジェクトを暗号化し、 EMRFSが Amazon S3 の暗号化されたオブジェクトを操作できるようになります。Amazon EMRリリースバージョン 4.8.0 以降を使用している場合は、セキュリティ設定を使用して、Amazon S3 内のEMRFSオブジェクトの暗号化と他の暗号化設定をセットアップできます。詳細については「暗号化オプション」を参照してください。以前のリリースバージョンの Amazon を使用している場合はEMR、暗号化設定を手動で設定できます。詳細については、「EMRFS プロパティを使用した Amazon S3 暗号化の指定」を参照してください。

Amazon S3 は、すべての GET、、PUTおよび LISTオペレーションに対して、強力な書き込み後の読み取り整合性を提供します AWS リージョン。つまり、 を使用して記述することは、Amazon S3 から読みEMRFS取るものであり、パフォーマンスには影響しません。詳細については、「Amazon S3 のデータ整合性モデル」を参照してください。

Amazon EMRリリースバージョン 5.10.0 以降を使用する場合、クラスターユーザー、グループ、または Amazon S3 内のEMRFSデータの場所に基づいて、Amazon S3 へのEMRFSリクエストに異なるIAMロールを使用できます。詳細については、Amazon S3へのEMRFSリクエストのIAMロールを設定する」を参照してください。

警告

Apache Spark ジョブを実行している Amazon EMRクラスターの投機的実行を有効にする前に、次の情報を確認してください。

EMRFS には、EMRFSS3-optimizedコミッターが含まれています。これは、 の使用時に Amazon S3 にファイルを書き込むために最適化された OutputCommitter 実装ですEMRFS。Amazon S3 にデータを書き込み、EMRFSS3-optimizedコミッターを使用しないアプリケーションで Apache Spark 投機的実行機能を有効にすると、SPARK-10063 で説明されているデータの精度の問題が発生する可能性があります。これは、Amazon EMRリリース 5.19 より前のEMRバージョンの Amazon を使用している場合、または ORCや などの形式で Amazon S3 にファイルを書き込む場合に発生する可能性がありますCSV。これらの形式は、EMRFSS3-optimizedコミッターではサポートされていません。EMRFS S3-optimizedコミッターを使用するための要件の完全なリストについては、EMRFSS3-optimizedコミッターの要件」を参照してください。

EMRFS 直接書き込みは通常、SEMRFSS3-optimizedコミッターがサポートされていない場合に使用されます。たとえば、以下を記述する場合などです。

  • ORC やテキストなど、Parquet 以外の出力形式。

  • Spark RDD を使用する Hadoop ファイルAPI。

  • Hive を使用した Parquet SerDe。「Hive metastore Parquet table conversion」を参照してください。

EMRFS 直接書き込みは、以下のシナリオでは使用されません。

  • EMRFS S3-optimizedコミッターが有効になっている場合。EMRFS S3-optimized」を参照してください。

  • を dynamic partitionOverwriteMode に設定して動的パーティションを記述する場合。

  • Hive のデフォルトのパーティションの場所規則に準拠しない場所などの、カスタムのパーティションの場所に書き込むとき。

  • への書き込みHDFSや S3A ファイルシステムの使用などEMRFS、 以外のファイルシステムを使用する場合。

アプリケーションが Amazon 5.14.0 EMR 以降で直接書き込みを使用しているかどうかを判断するには、Spark INFOログ記録を有効にします。「Direct Write:」というテキストを含むログ行ENABLEDが Spark ドライバーログまたは Spark エグゼキュターコンテナログのいずれかに存在する場合、Spark アプリケーションは直接書き込みを使用して書き込みました。

デフォルトでは、投機的実行は Amazon OFFで有効になっていますEMRclusters。次の条件が両方ともあてはまる場合は、投機的実行をオンにしないことを強くお勧めします。

  • データを Amazon S3 に書き込む場合。

  • データは、Apache Parquet 以外の形式で、または S3-optimizedコミッターを使用しない Apache Parquet EMRFS 形式で書き込まれます。

Spark 投機的実行を有効にし、EMRFS直接書き込みを使用して Amazon S3 にデータを書き込むと、断続的なデータ損失が発生する可能性があります。SS3-optimizedコミッターを使用してデータを に書き込んだりHDFS、Parquet EMRFS にデータを書き込んだりする場合、Amazon EMR は直接書き込みを使用しないため、この問題は発生しません。

Spark から Amazon S3 へのEMRFS直接書き込みを使用し、投機的実行を使用する形式でデータを書き込む必要がある場合は、S3DistCP を使用して に書き込みHDFS、出力ファイルを Amazon S3 に転送することをお勧めします。