2

ファイルを S3 にアップロードするプロセスがあります。実際、それは間接的です。Amazon Elastic MapReduce (EMR) を使用し、Hadoop は多くの異なるタスクノードから S3 にファイルをコミットします。次に、その Hadoop ジョブが正常に完了した後、プロセスの別の部分で Hadoop の FileSystem.createNewFile() を使用して、マスター ノードからいくつかのファイルを作成します。

これらのさまざまなマシンから作成されたファイルには、S3 にタイムスタンプがあります。タスク ノードからコミットされたファイルのタイムスタンプは、マスター ノードから作成されたファイルより前であると想定しています。

それは時々真実ではないと思いますが、なぜですか?

タイムスタンプを S3 ファイルに割り当てるのは何ですか? Amazon EMR Hadoop クライアントですか、それとも S3 マシンですか?

S3 にアップロードする 2 台のマシンのローカル クロックが 30 分異なる場合、タイムスタンプは 30 分ずれますか?

4

2 に答える 2

1

S3 の唯一のタイムスタンプは、「Last Modified」メタデータのようです。最終変更日時は S3 システム自体によって更新され、ファイルが S3 への完全なアップロードを完了した時刻を反映していると思います (S3 は不完全な転送を表示しません)。

したがって、どのノードからファイルをアップロードするかは問題ではありません。S3 にリストするとき、S3 の「最終変更」タイムスタンプは一貫して同じでなければなりません。

于 2013-06-04T19:32:19.573 に答える