【发布时间】:2011-06-15 23:14:48
【问题描述】:
运行一个 MapRed 作业后,我们会得到一些关于该作业的摘要,例如:
...
reduce input records: 10
reduce input groups: 3
...
我知道这是由组合重复键引起的。我的问题是 reducer 用来组合记录的方法是什么? key1.equals(key2) 还是 key1.hashCode==key2.hashCode?p>
谢谢。
【问题讨论】:
运行一个 MapRed 作业后,我们会得到一些关于该作业的摘要,例如:
...
reduce input records: 10
reduce input groups: 3
...
我知道这是由组合重复键引起的。我的问题是 reducer 用来组合记录的方法是什么? key1.equals(key2) 还是 key1.hashCode==key2.hashCode?p>
谢谢。
【问题讨论】:
只有 compareTo,因为键必须实现 WritableComparable。
key.hashCode() 用于分区原因。永远不会使用等于。
【讨论】:
Reducer 通常不会合并记录。每个从映射器发出的键都会执行一个 reducer(不一定是并行的)。
Reduce Input Groups 是输入到 减速机。减少输入记录是值的数量。每把钥匙都有 与其相关的一个或多个值进入减速器。
【讨论】: