2013-03-25 26 views
0

我遇到这个奇怪的问题,我在S3N创建的所有目录都有相同的时间戳是1969-12-31新创建的S3目录有作为1969-12-31时间戳

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

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

回答

1

这只是一个内置于s3-hdfs实现中的黑客攻击,因为s3实际上并没有目录的概念,所以hadoop无处可读地从目录创建/修改日期。

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

实施例,在HDFS:

/some/path.txt < - 两者/一些和/some/path.txt有元数据包含创建/修改的日期

在S3:

/some/path.txt是的名称文件。没有目录。添加一个斜杠作为分隔符只是惯例,它允许hadoop假装s3有目录。当你运行像hadoop fs -ls s3n://bucket/directory1/东西它只是使用默认的创建日期,你可以这样调用它的一些-path.txt如果你喜欢(虽然Hadoop的也不会高兴)

相关问题