0

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

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

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

4

1 回答 1

1

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

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

例如,在 hdfs 中:

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

在 S3 中:

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

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

于 2013-03-25T21:26:29.377 回答