使映射器处理多个文件而不是单个文件

时间:2014-03-17 19:26:52

标签: performance hadoop mapreduce

我有一个hadoop映射器代码,它将文件作为输入处理它们,并将单个键和处理后的值发送到reducer。问题是我有接近100000个文本文件不超过5,6 kb,但是当我运行这个工作时,需要很长时间才能完成。一个原因是每个映射器开始只处理一个文件然后被销毁。因此,即使处理完全没有计算成本,我在mapper启动时也会失去很多时间。如何确保映射器继续处理多个文件? 我的映射器的最大限制是默认设置,我可以看到为6。

如果需要进一步的详细信息,请告诉我。

1 个答案:

答案 0 :(得分:3)

您应该使用CombineFileInputFormat处理许多小文件。这确实有助于提高绩效。