大量hadoop输出文件

aiazj4mn  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(424)

在hadoop中,有没有一种合理的方法来编写大量的输出文件?我一直在使用多重输出。但是,multipleoutputs为每个文件分配了一个大的(~1mb)缓冲区,所以我遇到了内存问题。
我的数据顺序是这样的,在任何给定的reducer中,我都可以写入目标文件,关闭它,然后转到下一个。不幸的是,multipleoutputs不公开关闭给定文件的方法。我已经编写了一个修改的multipleoutputs,它公开了这样一个方法,并处理了这个问题,但这似乎并不理想。
另一种选择是最后一步,将我的输出分割成所需的文件,但我不确定有什么好方法可以做到这一点。

yizd12fk

yizd12fk1#

每个reducer将生成一个输出文件,reducer的数量越多,o/p文件的数量越多,大小越小。
也许你可以限制减速机的数量。但要确保有限的减速器得到优化。
e、 如果您设置reducers=1,那么只有一个进程必须处理所有Map器数据,因此增加了处理时间。

相关问题