【发布时间】:2013-06-20 14:52:27
【问题描述】:
我有大约 14000 个小 .gz 文件(从 90kb 到 4mb),它们都加载到 HDFS 中的同一目录中。
所以它们每个的大小都与 HDFS 的标准 64mb 或 128mb 块大小相距甚远,这在运行 MR 时可能会导致严重的麻烦(“小文件问题”,请参阅 cloudera 的 this 博客文章)处理这些文件的作业。
上述博客文章包含许多解决此问题的方法,主要涉及编写 MapReduce 作业或使用 Hadoop 存档 (HAR)。
不过,我想从源头解决问题,将小文件合并为 64mb 或 128mb 的 .gz 文件,然后直接输入 HDFS。
最简单的方法是什么?
【问题讨论】:
-
很久以前我也有类似的问题,请看这里:stackoverflow.com/questions/13233074/…