我一直在使用Cloudera的hadoop(0.20.2)。 在这个版本中,如果我把一个文件到文件系统,但该目录结构不存在,它会自动创建父目录:如何让hadoop创建目录如果它们不存在
因此,举例来说,如果我有在HDFS中没有目录,键入:
Hadoop的FS -put myfile.txt的/some/non/existing/path/myfile.txt
这将创建所有的目录:一些,非,现有和路径并把文件在那里。
现在,随着更新的hadoop(2.2.0)产品,这种自动创建目录不会发生。 相同的命令以上收益率:
地说:`/一些/不/现有/路径/“:没有这样的文件或目录
我有一个解决方法,只是做Hadoop的FS -mkdir第一,对于每一个投入,但这不会表现良好。
这是可配置的吗? 有什么建议吗?现在
为什么不会它表现良好? – climbage
>>为什么它表现不好? 因为对于每个'放'我做一个mkdir - 大多数时间可能不需要,所以它会影响高吞吐量情况下的性能。 – owly
你有没有考虑编写自己的解决方案?我很惊讶'put'表现的很好,考虑到每次通话都必须启动虚拟机,读取配置等。 – climbage