`
yo8237233
  • 浏览: 60902 次
  • 来自: 深圳
社区版块
存档分类
最新评论

mapreduce流程中的几个关键点

阅读更多
MapReduce中数据流动
   (1)最简单的过程:  map - reduce
   (2)定制了partitioner以将map的结果送往指定reducer的过程: map - partition - reduce
   (3)增加了在本地先进性一次reduce(优化)过程: map - combin(本地reduce) - partition -reduce

map函数的处理结果放在内存中,这个内存也称为环形缓冲区,缓冲区达到80%的时候会形成溢写,一边向磁盘写入,一般接受map输出,具体流程是一个管道机制

map  数据  先写入缓冲区在内部排序,当达到一定的大小再写入磁盘。如果每次都要写入,那消耗太大,不实际。缓冲期的大小是调优的重要方面,当map中间结果很大,适当调大缓冲区

combiner流程再此之前

所有的map处理完成之后才会执行reduce吗?
答案:否,reduce会执行一个预处理,reduce预处理已经处理完毕的map节点 ,比如进行数据整理

等所有的数据过来 才开始真正的reduce计算

buffer缓冲区满了(80%)就往磁盘写的那个过程叫做溢写。

分区的目的是根据Key值决定Mapper的输出记录被送到哪一个Reducer上去处理。而分组的就比较好理解了。分组就是与记录的Key相关。在同一个分区里面,具有相同Key值的记录是属于同一个分组的。

对于一般的键,只需要key值相同,则对应的value就会分配至同一个 reduce中;
对于复合键,形式为TextPair<key1,key2>,通过控制 key1来进行分区,则具有相同的 key1的值会被划分至同一个分区中,但此时如果 key2不相同,则不同的key2会被划分至不同的分组


分享到:
评论

相关推荐

    Hadoop集群搭建部署与MapReduce程序关键点个性化开发.doc

    本人亲手操作搭建Hadoop集群成功,并通过Eclipse进行MapReduce程序的开发,步骤详细完整,在相关过程中配有完整代码和解释,全程无误,只需复制粘贴即可,小白新手按步骤一步一步来也能搭建Hadoop集群成功并进行...

    mapreduce详细流程

    最详细的mapreduce流程图和说明,包含每一步的排序、归并等

    MapReduce详细流程

    里边就一张图,显示了MapReduce的详细流程,还算是比较实用。

    mapreduce mapreduce mapreduce

    mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce ...

    MapReduce实现join连接

    简单的在MapReduce中实现两个表的join连接简单的在MapReduce中实现两个表的join连接简单的在MapReduce中实现两个表的join连接

    MapReduce中文文档翻译

    对Google第一版的mapreduce相关文献进行的翻译。结合了的知秋的相关文章翻译的,不收费

    Hadoop中MapReduce基本案例及代码(五)

    下面详细介绍MapReduce中Map任务Reduce任务以及MapReduce的执行流程。 Map任务: 读取输入文件内容,解析成key,value对。对输入文件的每一行,解析成key,value对。每一个键值对调用一次map函数。 写自己的逻辑,对...

    MapReduce技术流程介绍

    文档详细介绍了Mapreduce的开发流程,及开发过程中常见的一些问题,在我的编程过程中这些问题困扰了我很长时间,希望把它记录下来。

    在Hadoop的MapReduce任务中使用C程序的三种方法

    Hadoop是一个主要由Java语言开发的项目,基于Hadoop的MapReduce程序也主要是使用Java语言来编写。但是有一些时候,我们需要在MapReduce程序中使用C语言、C++以及其他的语言,比如项目的开发人员更熟悉Java之外的语言...

    MapReduce执行流程

    MapReduce的大体流程是这样的,如图所示:由图片可以看到mapreduce执行下来主要包含这样几个步骤1.首先对输入数据源进行切片2.master调度worker执行map任务3.worker读取输入源片段4.worker执行map任务,将任务输出...

    实验项目 MapReduce 编程

    MapReduceExample 下建立新包 com.xijing.mapreduce,模仿内置的 WordCount 示例,自己编写一个 WordCount 程序,最后打包成 JAR 形式并在 Hadoop 集群上运行该 MR-App,查看运行结果。 4 分别在自编 MapReduce 程序...

    MapReduce中英文 (Word)

    MapReduce中英文,MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,中文和英文,两个文件。Word

    Mapreduce实验报告.doc

    任务执行基本流程 基本流程图见下一页 首先输入收据文件被Mapreduce库函数分割成M个split集。用户定义的程序被 拷贝到机群中,其中一个是master,其它的都是worker。M个map任务和R个reduc e任务将被分配。Master...

    MapReduce与Spark异同点和优势比较

    MapReduce与Spark异同点和优势比较

    MapReduce发明人关于MapReduce的介绍

    MapReduce发明人关于MapReduce的介绍

    中文分词mapreduce程序

    对中文进行分词的java代码,分别在map reduce中实现。

    mapreduce中文版论文

    google云计算三大论文之MapReduce

    图解MapReduce.doc

    图解MapReduce,系统介绍Hadoop MapReduce工作过程原理

    一个MapReduce简单程序示例

    一个MapReduce简单程序示例 MapReduce hadoop

    使用MyEclipse实现MapReduce

    使用MyEclipse实现MapReduce

Global site tag (gtag.js) - Google Analytics