【发布时间】:2012-07-20 09:20:30
【问题描述】:
如果我从运行在 2 个不同数据节点上的 2 个不同映射器获得相同的键/值对,并且如果我使用单个 reducer,我如何消除重复的键/值对并防止它进入 reducer?
我是否应该使用组合器,然后检查同一键是否存在重复值,然后在组合器中将其消除?但是组合器将来自单个映射器的所有键值对作为输入,对吧?
【问题讨论】:
如果我从运行在 2 个不同数据节点上的 2 个不同映射器获得相同的键/值对,并且如果我使用单个 reducer,我如何消除重复的键/值对并防止它进入 reducer?
我是否应该使用组合器,然后检查同一键是否存在重复值,然后在组合器中将其消除?但是组合器将来自单个映射器的所有键值对作为输入,对吧?
【问题讨论】:
这正是 reducer 的职责——处理这样的重复。我认为 hadoop 没有办法完全出于这个原因允许它。
正如您以正确的方式指出的那样 - 组合器在这里不会完全有帮助,而只会减少此类重复的数量
【讨论】: