【发布时间】:2013-06-27 01:38:09
【问题描述】:
在我的单机本地开发时,我相信默认的 reducer 数量是 6。在特定的 MR 步骤中,我实际上将数据划分为 n 个分区,其中 n 可以大于 6。根据我的观察,看起来只有 6 个分区实际上得到了处理,因为我只看到 6 个特定分区的输出。几个问题:
(a) 是否需要将reducer 的数量设置为大于partition 的数量?如果是这样,我可以在运行 Mapper 之前/期间/之后执行此操作吗?
(b) 为什么其他分区没有排队?有没有办法在处理另一个分区之前等待reducer完成处理一个分区,这样无论reducer的实际数量是否小于分区数,都可以处理所有分区?
【问题讨论】:
-
这里的启示是多个分区可以散列到同一个reducer。
标签: hadoop hadoop-streaming hadoop-partitioning