24 MAPREDUCE中的Combiner

简介: 24 MAPREDUCE中的Combiner

Combiner的使用要非常谨慎,因为combiner在mapreduce过程中可能调用也肯能不调用,可能调一次也可能调多次。

所以combiner使用的原则是,有或没有都不能影响业务逻辑。

1)combiner是MR程序中Mapper和Reducer之外的一种组件。

2)combiner组件的父类就是Reducer

3)combiner和reducer的区别在于运行的位置:

  • Combiner是在每一个maptask所在的节点运行
  • Reducer是接收全局所有Mapper的输出结果;

4) combiner的意义就是对每一个maptask的输出进行局部汇总,以减小网络传输量,具体实现步骤:

  • 1、自定义一个combiner继承Reducer,重写reduce方法
  • 2、在job中设置:
job.setCombinerClass(CustomCombiner.class)

5) combiner能够应用的前提是不能影响最终的业务逻辑,而且combiner的输出kv应该跟reducer的输入kv类型要对应起来。

目录
相关文章
|
6月前
|
分布式计算 负载均衡 数据处理
MapReduce中的Combiner函数的作用和使用场景
MapReduce中的Combiner函数的作用和使用场景
290 0
|
分布式计算 Hadoop 存储
[Hadoop]MapReduce中的Partitioner与Combiner
Partitioners负责划分Maper输出的中间键值对的key,分配中间键值对到不同的Reducer。Maper输出的中间结果交给指定的Partitioner,确保中间结果分发到指定的Reduce任务。
1567 0
|
分布式计算
MapReduce编程例子之Combiner与Partitioner
MapReduce编程例子之Combiner与Partitioner
255 0
MapReduce编程例子之Combiner与Partitioner
|
分布式计算 资源调度 Hadoop
使用Mapreduce案例编写用于统计文本中单词出现的次数的案例、mapreduce本地运行等,Combiner使用及其相关的知识,流量统计案例和流量总和以及流量排序案例,自定义Partitioner
工程结构: 在整个案例过程中,代码如下: WordCountMapper的代码如下: package cn.toto.bigdata.mr.wc;   import java.io.IOException;   import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable;
2462 0
|
6月前
|
分布式计算 Hadoop
Hadoop系列 mapreduce 原理分析
Hadoop系列 mapreduce 原理分析
79 1
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
98 3
|
5月前
|
分布式计算 Hadoop Java
Hadoop MapReduce编程
该教程指导编写Hadoop MapReduce程序处理天气数据。任务包括计算每个城市ID的最高、最低气温、气温出现次数和平均气温。在读取数据时需忽略表头,且数据应为整数。教程中提供了环境变量设置、Java编译、jar包创建及MapReduce执行的步骤说明,但假设读者已具备基础操作技能。此外,还提到一个扩展练习,通过分区功能将具有相同尾数的数字分组到不同文件。
64 1
|
5月前
|
数据采集 SQL 分布式计算
下一篇
无影云桌面