在hadoop中应该从哪个类继承(或扩展)组合器?

soat7uwm  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(398)

在hadoop中,mapper和reducer类应该扩展mapper或reducer接口。但是,我找不到combiner类应该扩展的接口。hadoop中combiner类的签名是什么?

bqucvtff

bqucvtff1#

一个合并器扩展 Reducer 接口,其签名应发出与其使用的键/值类型相同的键/值类型,例如,字数组合器具有以下签名(对于新的 o.a.h.mapreduce 而且很老 o.a.h.mapred Package ):

public class MyCombinerNewApi 
    extends Reducer<Text, IntWritable, Text, IntWritable> {

}

public class MyCombinerOldApi 
    implements Reducer<Text, IntWritable, Text, IntWritable> {

}

combiner类有时与reducer类相同(如字数计算示例中所示)。
一些很好的链接更详细地解释了组合器:
phillipe adjimun关于“使用或不使用组合器”的博客
pro hadoop书籍组合器

ffscu2ro

ffscu2ro2#

合路器是小型减速机。它们跟减速机本身一样

public class Combiner extends Reducer<Text, IntWritable, Text, IntWritable> {

相关问题