2

我们有一个将文件上传到 S3 的过程。事实上,它是间接的。我们使用 Amazon Elastic MapReduce (EMR),Hadoop 将文件从许多不同的任务节点提交到 S3。然后,在该 Hadoop 作业成功完成后,该过程的另一部分使用 Hadoop 的 FileSystem.createNewFile() 从主节点创建一些文件。

从这些不同的机器创建的文件在 S3 中有时间戳。我们假设从任务节点提交的文件的时间戳在从主节点创建的文件之前。

我相信这有时是不真实的,但为什么呢?

什么将时间戳分配给 S3 文件?它是 Amazon EMR Hadoop 客户端,还是某些 S3 机器?

如果我有两台机器上传到本地时钟相差 30 分钟的 S3,时间戳会相隔 30 分钟吗?

4

2 回答 2

1

您无法自行设置 Last-Modified 值。S3 决定它们:

https://forums.aws.amazon.com/thread.jspa?messageID=209241

于 2013-06-07T03:53:12.727 回答
1

S3 中唯一的时间戳似乎是“上次修改”元数据。我相信最后修改的日期/时间是由 S3 系统自己更新的,反映了文件完全上传到 S3 的时间(S3 不会显示不完整的传输。)

因此,您从哪个节点上传文件并不重要,当您在 S3 上列出文件时,S3 上的“最后修改”时间戳应该始终如一。

于 2013-06-04T19:32:19.573 回答