我试图将100万个文本文件上传到HDFS。 因此,使用Eclipse上传这些文件大约需要2个小时。 任何人都可以建议我做任何快速的技术来做这件事。 我想到的是:将所有文本文件压缩成单个zip,然后将其上传到HDFS,最后使用一些解压缩技术,我将这些文件提取到HDFS上。 任何帮助将不胜感激。
答案 0 :(得分:2)
Distcp是将文件上传到HDFS的好方法,但是对于您的特定用例(您希望将本地文件上传到在同一台计算机上运行的单个节点群集),最好不要将文件上传到HDFS。所有。您可以使用localfs(file://a_file_in_your_local_disk
)代替HDFS,因此无需上传文件。
有关如何执行此操作的示例,请参阅此其他SO question。
答案 1 :(得分:1)
尝试 DistCp 。 DistCp(分布式副本)是用于大型帧间/群集内复制的工具。它使用Map / Reduce来实现其分发,错误处理和恢复以及报告。您也可以使用它将数据从本地FS复制到HDFS。
示例:bin / hadoop distcp file:/// Users / miqbal1 / dir1 hdfs:// localhost:9000 /