在很多MapReduce应用的场景中,假设能在向reducer分发mapper结果之前做一下“本地化Reduce”.一wordcount为样例,假设作业处理中的文件单词中"the"出现了574次,存储并shuffling一次(“the”,574)key/valuthe对照很多次("the",1)更有效。

这个过程叫做合并(Combiner).

hadoop 通过扩展MapReduce框架,在mapper何reducer之间添加了一个combine攻克了了这些瓶颈问题。你能够把combiner是为reducer的助手。它致力于降低mapper的输出以降低reducer上的压力。假设我们定义了一个combiner,MapReduce使用它的次数能够使0次。1次或者很多其它次。为了让combiner能正常的工作,它和reducer的数据转换必须等价。假设我们去掉了combine。reducer的输入应该是不变化的。

当combiner被应用于中间数据中的随意子集时,仍然须要保持等价的转换特性。

在一些场景下。combine的角色时十分明显的。

假设reducer只处理分配性函数。如max,min和count时,我们能够直接使用使用reducer作为combiner,可是有时候很多实用的函数不是分配性的。

我们就能够重写当中的一些函数,比如求average,从而调用combiner

Hadoop的Combiner的更多相关文章

  1. Hadoop中Combiner的使用

    注:转载自http://blog.csdn.net/ipolaris/article/details/8723782 在MapReduce中,当map生成的数据过大时,带宽就成了瓶颈,怎样精简压缩传给 ...

  2. 【Hadoop】Combiner的本质是迷你的reducer,不能随意使用

    问题提出: 众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出 ...

  3. Hadoop 使用Combiner提高Map/Reduce程序效率

    众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出. 在上述过 ...

  4. hadoop中Combiner使用中需要注意的地方

    今天在写一个MR的时候,用到了combiner.在使用过程中,遇到了一些问题,特此记录一下. Combiner分为两种,一种是可插拔的,一种是不可插拔的. 可插拔的:Combiner和Reduce的处 ...

  5. Hadoop中Combiner的作用

    1.Partition 把 Map任务输出的中间结果按 key的范围划分成 R份( R是预先定义的 Reduce任务的个数),划分时通常使用hash函数如: hash(key) mod R,这样可以保 ...

  6. Hadoop学习笔记—8.Combiner与自定义Combiner

    一.Combiner的出现背景 1.1 回顾Map阶段五大步骤 在第四篇博文<初识MapReduce>中,我们认识了MapReduce的八大步凑,其中在Map阶段总共五个步骤,如下图所示: ...

  7. hadoop面试100道收集(带答案)

    1.列出安装Hadoop流程步骤 a) 创建hadoop账号 b) 更改ip c) 安装Java 更改/etc/profile 配置环境变量 d) 修改host文件域名 e) 安装ssh 配置无密码登 ...

  8. hadoop可能遇到的问题

    1.hadoop运行的原理? 2.mapreduce的原理? 3.HDFS存储的机制? 4.举一个简单的例子说明mapreduce是怎么来运行的 ? 5.面试的人给你出一些问题,让你用mapreduc ...

  9. hadoop面试时可能遇到的问题

    面试hadoop可能被问到的问题,你能回答出几个 ? 1.hadoop运行的原理? 2.mapreduce的原理? 3.HDFS存储的机制? 4.举一个简单的例子说明mapreduce是怎么来运行的 ...

随机推荐

  1. Unix系统编程()执行非局部跳转:setjmp和longjmp

    使用库函数setjmp和longjmp可执行非局部跳转(local goto). 术语"非局部(nonlocal)"是指跳转目标为当前执行函数之外的某个位置. C语言里面有个&qu ...

  2. Idea上配置btm

    1.  先在eclipse中配置好项目,再讲配置好的项目导入到idea中

  3. Android——Activity生命周期(转)

    Activity生命周期   子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细 ...

  4. Android——区别DVM与JVM (2)

    区别DVM与JVM 1.首要差别 Dalvik: 基于寄存器,编译和运行都会更快些 JVM: 基于栈, 编译和运行都会慢些 2.字节码的区别 Dalvik: 执行.dex格式的字节码,是对.class ...

  5. datagrid columns

    columns: [[ { field: 'Source_Id', title: 'Source_Id', hidden: true }, //{ field: 'Current_Value', hi ...

  6. could not find com.android.support.appcompat-v7:23.4.0

    导入别人的工程到AS中,出现错误,是由于android studio的版本比所加载的工程所使用的版本低,有些包不是最新的. 我的android studio这个包的版本是 v7:23.1.1 所以需要 ...

  7. 一个 Map 函数、一个 Reduce 函数和一个 main 函数

    MapReduce 最简单的 MapReduce应用程序至少包含 3 个部分:一个 Map 函数.一个 Reduce 函数和一个 main 函数.main 函数将作业控制和文件输入/输出结合起来.在这 ...

  8. annexb模式

    h264有两种封装,一种是annexb模式,传统模式,有startcode,SPS和PPS是在ES中一种是mp4模式,一般mp4 mkv会有,没有startcode,SPS和PPS以及其它信息被封装在 ...

  9. HttpHandler简单示例

    using System.Web; namespace MyWebApp { public class MyHttpHandler : IHttpHandler { public void Proce ...

  10. Hibernate_day02--Hibernate事务操作_api使用

    Hibernate事务操作 事务相关概念 1 什么是事务 事务是操作中最基本的单元,表示一组操作要么都成功,有一个失败那么所有都失败.最典型的场景:银行转账 2 事务特性 原子性 一致性 隔离性 持久 ...