我们有一个将文件上传到S3的过程。事实上,这是间接的。我们使用Amazon Elastic MapReduce(EMR),Hadoop将文件从许多不同的任务节点提交到S3。然后,在Hadoop作业成功完成之后,该过程的另一部分使用Hadoop的FileSystem.createNewFile()从主节点创建一些文件。
从这些不同的计算机创建的文件在S3中具有时间戳。我们假设从任务节点提交的文件的时间戳在从主节点创建的文件之前。
我认为这有时是不真实的,但为什么呢?
什么时候给S3文件分配时间戳?它是Amazon EMR Hadoop客户端还是某些S3机器?
如果我有两台机器上传到S3,其本地时钟相差30分钟,时间戳会间隔30分钟吗?
答案 0 :(得分:1)
S3中唯一的时间戳似乎是“Last Modified”元数据。我相信最后修改的日期/时间由S3系统本身更新,并反映文件完全上传到S3的时间(S3不会显示不完整的传输。)
因此,无论您从哪个节点上传文件,S3上的“上次修改”时间戳在S3上列出时都应该始终相同。
答案 1 :(得分:1)
您无法自行设置Last-Modified值。 S3决定他们: