我们有一个将文件上传到 S3 的过程。其实是间接的。我们使用 Amazon Elastic MapReduce (EMR),Hadoop 将文件从许多不同的任务节点提交到 S3。然后,在该 Hadoop 作业成功完成后,流程的另一部分使用 Hadoop 的 FileSystem.createNewFile() 从主节点创建一些文件。
从这些不同的机器创建的文件在 S3 中有时间戳。我们假设从任务节点提交的文件的时间戳在从主节点创建的文件之前。
我认为这有时是不正确的,但为什么呢?
什么将时间戳分配给 S3 文件?是 Amazon EMR Hadoop 客户端还是某个 S3 机器?
如果我有两台机器上传到 S3,它们的本地时钟相差 30 分钟,时间戳会相隔 30 分钟吗?
最佳答案
您无法自行设置 Last-Modified 值。 S3 决定它们:
https://forums.aws.amazon.com/thread.jspa?messageID=209241
https://stackoverflow.com/questions/16828707/