我遇到了这个奇怪的问题,我在S3N上创建的所有目录都有相同的时间戳,即1969-12-31
我使用“hadoop fs -mkdir”创建目录并使用mapreduce作业并获得相同的时间戳。
如何获得正确的时间戳? 感谢
答案 0 :(得分:1)
这只是s3-hdfs实现中内置的一个hack,因为s3实际上没有目录的概念,因此hadoop无处可读取目录创建/修改日期。
实际上在s3中,所有文件都存储为根级对象,并且密钥中允许使用斜杠“/”。因此,与hdfs不同,键前缀(目录)没有元数据。
示例,在hdfs中:
/some/path.txt
< - both / some和/some/path.txt包含包含创建/修改日期的元数据
:
/some/path.txt
是文件的名称。没有目录。添加斜杠作为分隔符只是允许hadoop假装s3具有目录的约定。你可以把它称为some-path.txt如果你喜欢(尽管hadoop会不那么开心)
因此,当您运行类似hadoop fs -ls s3n://bucket/directory1/
的内容时,只需使用创建日期的默认值。