合并hadoop中的小文件 - 有哪些不同的方法?

时间:2018-02-28 18:21:19

标签: hadoop apache-spark hive apache-pig

我有一个用例,我们有800000个json文件,每个大小为2KB。我们的要求是将这些较小的文件合并为一个大文件。我们尝试使用重新分区和合并在Spark中实现这一点。然而,我们没有发现这种效率,因为这比预期消耗更多的时间。有没有其他方法可以以高效的方式实现同​​样的目标?

感谢您的帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

Hadoop并不是您使用的正确工具。我建议只编写一个小的java或scala程序,它将逐个读取这些文件并输出到单个文件。任何与hadoop相关的工具都会给你带来巨大的性能开销(例如猪的初始化大约需要30秒),而独立应用程序将在1-2分钟甚至更短的时间内处理这些800k文件。