hadoop-Combiner作用用法

文章来源http://blog.csdn.net/ipolaris/article/details/8723782

reduce的输入每个key所对应的value将是一大串1,但处理的文本很多时,这一串1已将占用很大的带宽,如果我们在map的输出给于reduce之前做一下合并或计算,那么传给reduce的数据就会少很多,减轻了网络压力。此时Combiner就排上用场了。我们现在本地把Map的输出做一个合并计算,把具有相同key的1做一个计算,然后再把此输出作为reduce的输入,这样传给reduce的数据就少了很多。Combiner是用reducer来定义的,多数的情况下Combiner和reduce处理的是同一种逻辑,所以job.setCombinerClass()的参数可以直接使用定义的reduce,当然也可以单独去定义一个有别于reduce的Combiner,继承Reducer,写法基本上定义reduce一样。让我们看一下,加入Combiner之前的处理结果

时间: 2024-07-30 21:35:31

hadoop-Combiner作用用法的相关文章

hadoop1中partition和combiner作用

---恢复内容开始--- 1.解析Partiton 把map任务的输出的中间结果按照key的范围进行划分成r份,r代表reduce任务的个数.hadoop默认有个类HashPartition实现分区,通过key对reduce的个数取模(key%r),这样可以保证一段范围内的key交由一个reduce处理.以此来实现reduce的负载均衡.不至于使有些reduce处理的任务压力过大,有些reduce空闲. 如果我们对hadoop本身的分区算法不满意,或者我们因为我们的业务需求,我们可以自定义一个类

Hadoop Combiner组件

一:背景 在MapReduce模型中,reduce的功能大多是统计分类类型的总量.求最大值最小值等,对于这些操作可以考虑在Map输出后进行Combiner操作,这样可以减少网络传输负载,同时减轻reduce任务的负担.Combiner操作是运行在每个节点上的,只会影响本地Map的输出结果,Combiner的输入为本地map的输出结果,很多时候Combiner的逻辑和reduce的逻辑是相同的,因此两者可以共用reducer体. 二:什么时候运行Combiner (1):当job设置了Combin

Hadoop Combiner

转自:http://blog.csdn.net/jokes000/article/details/7072963 众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出. 在上述过程中,我们看到至少两个性能瓶颈: 如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输出它所知道的最大值即可.这

枚举的意义,用途,作用,用法,作用场景

下面给出在枚举中声明属性和方法的示例: package com.fhp.enumexample; public enum TypeEnum { VIDEO(1), AUDIO(2), TEXT(3), IMAGE(4); int value; TypeEnum(int value) { this.value = value; } public int getValue() { return value; } } 在这个枚举中,每个枚举的值都有一个对应的int型字段,而且不同的枚举值也会有不同的i

Hadoop中的Combiner实践

Combiner作用是合并Mapper的输出,Combiner的输出作为Reducer的输入,这样可以减少map任务和reducer任务之间的数据传输. 1.在Job中设置Combiner和不设置Combiner,观察Reducer输入情况 使用如下代码设置Combiner job.setCombinerClass(MaxTemperatureReducer.class); @Override public int run(String[] args) throws Exception { Jo

hadoop之 HDFS fs 命令总结

版本:Hadoop 2.7.4 -- 查看hadoop fs帮助信息[[email protected] sbin]# hadoop fsUsage: hadoop fs [generic options][-appendToFile <localsrc> ... <dst>][-cat [-ignoreCrc] <src> ...][-checksum <src> ...][-chgrp [-R] GROUP PATH...][-chmod [-R] &l

hadoop家族的各个成员

这篇文章不提原理,讲讲hadoop及其周边项目的作用. hadoop这个词已经流行好多年了,一提到大数据就会想到hadoop,那么hadoop的作用是什么呢? 官方定义:hadoop是一个开发和执行处理大规模数据的软件平台.核心词语是平台,也就是说我们有大量的数据,又有好几个电脑,我们知道应该把处理数据的任务分解到各个电脑上,可是不知道如何分配任务,如何回收结果,hadoop大概就帮助我们做了这件事. 1HDFS 我们首先应该考虑的是海量数据怎么保存,怎么管理.这就有了分布式文件系统,HDFS.

Hadoop-5、排序(Combiner泛谈)

一.Combiner作用 1.combiner最基本是实现本地key的聚合,对map输出的key排序,value进行迭代.如下所示: map: (K1, V1) → list(K2, V2) combine: (K2, list(V2)) → list(K2, V2) reduce: (K2, list(V2)) → list(K3, V3) 2.combiner还具有类似本地的reduce功能. 例如hadoop自带的wordcount的例子和找出value的最大值的程序,combiner和r

Hadoop权威指南学习笔记二

MapReduce简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my_acm 上一篇介绍了什么是Hadoop.Hadoop的作用等.本篇相同基于Hadoop权威指南,结合迪伦的Hadoop的视频教程对MapReduce做一个介绍. 1. MapReduce是Hadoop的核心之中的一个.MapReduce分为两个部分,Mapper和Ruducer模块.简单