教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

天富娱乐登录网页版 注册买彩票是真的吗创建和使用演示【大数据文章】

更新时间:2020年11月12日17时47分 来源:传智播客 浏览次数:

在Map阶段输出可能会产生大量相同的数据,例如 ……,势必会降低Reduce聚合阶段的执行效率。注册买彩票是真的吗的作用就是对Map阶段的输出的重复数据先做一次合并计算,然后把新的(key,value)作为Reduce阶段的输入。图1描述的就是注册买彩票是真的吗对Map的合并操作。

1605174126205_1.gif

图1 注册买彩票是真的吗的合并操作

注册买彩票是真的吗是MapReduce程序中的一种重要的组件,如果想自定义Combiner,我们需要继承Reducer类,并且重写reduce()方法。接下来,我们针对词频统计案例编写一个注册买彩票是真的吗,演示如何创建和使用注册买彩票是真的吗,具体代码,如文件所示。

文件 WordCountCombiner.java

 import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; public class WordCountCombiner extends Reducer { @Override protected void reduce(Text key, Iterable values, Reducer.Context context) throws IOException, InterruptedException { int count = 0; for (IntWritable v : values) { count += v.get(); } context.write(key, new IntWritable(count)); } }

文件是自定义Combiner类,它的作用就是将key相同的单词汇总(这与WordCountReducer类的reduce()方法相同,也可以直接指定WordCountReducer作为Combiner类),另外还需要在主运行类中为Job设置注册买彩票是真的吗即可,具体代码如下:

wcjob.setCombinerClass(WordCountCombiner.class);

小提示:

执行MapReduce程序,添加与不添加Combiner结果是一致的。通俗的讲,无论调用多少次Combiner,Reduce的输出结果都是一样的,因为注册买彩票是真的吗不允许改变业务逻辑。


猜你喜欢

MapReduce程序怎样设置模式才能在在本地运行

Mapper类中的map()方法怎么用?

0 分享到:
和我们在线交谈!