我是hadoop的新手,并且正在集群中的3个节点上工作(每个节点都有2GB RAM)。
输入文件很小(5 MB),但是 map 输出很大(大约6 GB)。
在映射阶段,我的内存已满,并且任务运行非常缓慢。
是什么原因
谁能帮助我使我的程序更快?
最佳答案
使用NLineInputFormat,其中N表示每个映射器将接收的输入行数。这样,您可以通过向每个映射器任务强制输入较小的数据来创建更多拆分。如果没有,则整个5 MB将进入一项Map任务。
关于hadoop - 如何在hadoop中处理大型 map 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14545287/