MapReduce--Combiner

原创 2016年08月30日 10:05:02
MapReduce框架是使用Mapper将数据处理成一个<key,value>键值对,网络节点间进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。

1.性能瓶颈:
(1)Map与Reduce之间的网络带宽
(2)reduce上的负载均衡
2.目标:
combiner是为了避免map任务和reduce任务之间的数据传输而设置的,hadoop允许用户对map task的输出制定一个合并函数。即为了减少传输到reduce上的数据量。主要为了削减Mapper的输出从而减少网络带宽和reduce负载。
3.数据格式转换:

    map: (K1, V1) → list(K2,V2) 
    combine: (K2, list(V2)) → list(K3, V3) 
    reduce: (K3, list(V3)) → list(K4, V4)   

4)
combine的输入和reduce的完全一致,输出和map的完全一致。
4.注意说明
1)combiner和map的输出数据合并不是相同一个过程,map输出的数据合并是发生在spill之后,merger操作。
2)combiner是默认实现的,也需要在Configuration中显示设置才有作用。
3)combiner不一定使用所有mapreduce的job,必须满足结合律。

版权声明:本文为博主原创文章,未经博主允许不得转载。

MapReduce中的combiner、partition和shuffle各自的作用是什么?

更多资料:彻底了解mapreduce核心Shuffle–解惑各种mapreduce问题 网上的资料很多,关于类的很少,这里补充一些: InputFormat类:该类的作用是将输入的文件和数据分割成许...

MapReduce中Combiner的作用和用法

MapReduce中Combiner的作用和用法 ①每一个map可能会产生大量的输出,Combiner的作用就是在map端对输出先做一次合并,以减少传输到reducer的数据量。 ②Combiner...
  • sl1992
  • sl1992
  • 2017年01月02日 17:49
  • 2104

Hadoop读书笔记(十)MapReduce中的从计数器理解combiner归约

Hadoop读书笔记(十)MapReduce中的combiner编程。 从计数器分析combiner的作用...

[Hadoop]MapReduce中的Partitioner与Combiner

Partitioners负责划分Maper输出的中间键值对的key,分配中间键值对到不同的Reducer。Maper输出的中间结果交给指定的Partitioner,确保中间结果分发到指定的Reduce...

MapReduce: combiner

1、什么是combiner? combiner就是规约操作,通过对map输出的数量进行规约,可以减少reduce的数量,提高执行效率combiner的输入输出类型必须和mapper的输出以及red...

mapreduce编程练习(二)倒排索引 Combiner的使用以及练习

hadoop mapreduce编程 练习 倒排索引 Combiner的使用以及练习

MapReduce combiner阶段 与shuffle阶段的区别

combiner阶段  shuffle阶段

Mapreduce中Combiner的使用及误区

问题提出: 众所周知,Hadoop框架使用Mapper将数据处理成一个键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。    在上述过程中,我们看到...
  • guoery
  • guoery
  • 2013年01月22日 11:18
  • 18107

Mapreduce中Combiner的使用及误区

问题提出: 众所周知,Hadoop框架使用Mapper将数据处理成一个键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。    在上述过程中,我们看到...

MapReduce程序开发中的Combiner

2016年4月4日10:46:24  MapReduce程序开发中的Combiner 作者:数据分析玩家    在MapReduce程序的运行过程中,经过shuffle阶段:分区、排序、分组之后,可以...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MapReduce--Combiner
举报原因:
原因补充:

(最多只允许输入30个字)