最近有人问我如何处理reduce任务的不平衡输入。我想了一会儿,试图重新分配数据,但没有想出一个好的解决方案。任何建议吗?
其实你有两种选择。
- 增加reduce的数量,这样您的数据可能会更好地分布在任务中
- 重写分区程序,以便在任务之间更好地分配键。[1]
[1] http://hadoop.apache.org/common/docs/r0.20.2/api/org/apache/hadoop/mapreduce/Partitioner.html