新创建的S3目录的时间戳为1969-12-31

时间:2013-03-25 16:19:08

标签: hadoop amazon-s3

我遇到了这个奇怪的问题,我在S3N上创建的所有目录都有相同的时间戳,即1969-12-31

我使用“hadoop fs -mkdir”创建目录并使用mapreduce作业并获得相同的时间戳。

如何获得正确的时间戳? 感谢

1 个答案:

答案 0 :(得分:1)

这只是s3-hdfs实现中内置的一个hack,因为s3实际上没有目录的概念,因此hadoop无处可读取目录创建/修改日期。

实际上在s3中,所有文件都存储为根级对象,并且密钥中允许使用斜杠“/”。因此,与hdfs不同,键前缀(目录)没有元数据。

示例,在hdfs中:

/some/path.txt< - both / some和/some/path.txt包含包含创建/修改日期的元数据

S3中的

/some/path.txt是文件的名称。没有目录。添加斜杠作为分隔符只是允许hadoop假装s3具有目录的约定。你可以把它称为some-path.txt如果你喜欢(尽管hadoop会不那么开心)

因此,当您运行类似hadoop fs -ls s3n://bucket/directory1/的内容时,只需使用创建日期的默认值。