EMRFS の整合性のあるビューが Amazon S3 内のオブジェクトを追跡する方法を理解する - Amazon EMR

EMRFS の整合性のあるビューが Amazon S3 内のオブジェクトを追跡する方法を理解する

EMRFS は、オブジェクトに関する情報を EMRFS メタデータに追加することで、Amazon S3 内にそれらのオブジェクトの整合性のあるビューを作成します。EMRFS は、次の場合にこれらの一覧をそのメタデータに追加します。

  • Amazon EMR ジョブの実行中に、EMRFS によってオブジェクトが書き込まれた。

  • EMRFS CLI を使用してオブジェクトが EMRFS のメタデータと同期化されたか、EMRFS にインポートされた。

EMRFS によって読み取られたオブジェクトはメタデータに自動的に追加されません。EMRFS がオブジェクトを削除されると、リストが EMRFS CLI を使用して消去されるまで、削除された状態でメタデータに残ります。CLI の詳細については、「EMRFS CLI コマンドリファレンス」を参照してください。EMRFS のメタデータでの一覧消去の詳細については、「EMRFS の整合性のあるビューのメタデータ」を参照してください。

EMRFS は、すべての Amazon S3 操作について、整合性のあるビューのオブジェクトのセットに関する情報のメタデータを確認します。EMRFS は、これらのいずれかの操作中に Amazon S3 が不整合であることを検出すると、emrfs-site 設定プロパティで定義されているパラメータに従って操作を再試行します。EMRFS が再試行した後、ConsistencyException を返すか、例外を記録してワークフローを継続します。再試行ロジックの詳細については、「再試行ロジック」を参照してください。たとえば、ログには ConsistencyExceptions が見つかります。

  • listStatus: No Amazon S3 object for metadata item /S3_bucket/dir/object

  • getFileStatus: Key dir/file is present in metadata but not Amazon S3

EMRFS の整合性のあるビューで追跡されているオブジェクトを Amazon S3 から直接削除すると、EMRFS はそのオブジェクトを不整合として扱います。これは、そのオブジェクトが Amazon S3 に存在するものとしてメタデータにまだリストされているためです。Amazon S3 で EMRFS が追跡するオブジェクトとメタデータが同期されなくなった場合は、EMRFS CLI の sync サブコマンドを使用して、Amazon S3 の状態を反映するようにメタデータをリセットできます。メタデータと Amazon S3 との間の不整合を検出するには、diff を使用します。最後に、EMRFS の整合性のあるビューには、メタデータで参照されているオブジェクトのみがあります。同じ Amazon S3 のパスには、追跡されていない他のオブジェクトが存在する可能性があります。EMRFS は、Amazon S3 パスのオブジェクトを一覧表示するときに、メタデータで追跡されているオブジェクトと、その Amazon S3 パス内のオブジェクトのスーパーセットを返します。