在 Hadoop 中,mapper 和 reducer 类应该扩展 Mapper 或 Reducer 接口。但是,我找不到组合器类应该扩展的接口。Hadoop 中组合器类的签名是什么?
问问题
1864 次
2 回答
0
组合器扩展了Reducer
接口,它的签名应该发出与其使用相同的键/值类型,例如字数组合器具有以下签名(对于o.a.h.mapreduce
新旧o.a.h.mapred
包):
public class MyCombinerNewApi
extends Reducer<Text, IntWritable, Text, IntWritable> {
}
public class MyCombinerOldApi
implements Reducer<Text, IntWritable, Text, IntWritable> {
}
有时,Combiner 类与 Reducer 类相同(如 Word Count 示例中所示)是很常见的。
一些很好的链接更详细地解释了组合器:
- Phillipe Adjimun 关于“使用或不使用组合器”的博客
- Pro Hadoop Book - 组合器
于 2013-01-05T03:45:23.667 回答
0
组合器是迷你减速器。它们遵循 Reducer 本身的相同签名
public class Combiner extends Reducer<Text, IntWritable, Text, IntWritable> {
于 2014-10-01T09:11:04.927 回答