`
dongtianzhe
  • 浏览: 21497 次
  • 性别: Icon_minigender_1
  • 来自: 长春
最近访客 更多访客>>
社区版块
存档分类
最新评论

MapReduce执行过程

阅读更多
在研究hadoop之前,有必要将hadoop两个核心技术HDFS和MapReduce了解一下,做好的资料当然就是google的两篇论文了。现将Hadoop中MapReduce的执行流程总结如下:

用户提交的称为Job,每个Job会被切分成很多数据集,每个数据集作为Map的输入,称为一个task。

InputFormat将输入的数据集切割成小数据集 InputSplits, 每一个 InputSplit 将由一个 Mapper 负责处理。此外 InputFormat 中还提供一个 RecordReader 的实现, RecordReader 将一个 InputSplit 解析成 <key,value> 对,有了<k,v>,就可以开始做map操作了。

Map后会产生很多中间结果,先对这些结果按照key值排序,这时可以利用用户提供的combiner函数将中间结果进行一次合并。之后这些中间结果会被分区函数分为R个区域,分区函数可以是类似于hash(key) mod R这样处理,这样会将具有相同key值的数据聚集到一起。在reduce之前会有一个merge操作,将具有相同key值的value合并成一个list,形成<key, list<value> >的形式,这就是这个过程就是混洗(Shuffle)和排序(sort)的过程。

上面通过Shuffle和sort后得到的<key, (list<value>)>会送到Reducer. reduce方法中处理,输出的结果通过OutputFormat,输出到DFS中。
分享到:
评论

相关推荐

    Hadoop的MapReduce执行过程介绍.pdf

    Hadoop的MapReduce执行过程介绍.pdf

    MapReduce执行流程

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

    MapReduce执行流程和Shuffle过程

    本节将对 Hadoop MapReduce 的工作机制进行介绍,主要从 MapReduce 的作业执行流程和 Shuffle 过程方面进行阐述。通过加深对 MapReduce 工作机制的了解,可以使程序开发者更合理地使用 MapReduce 解决实际问题。 ...

    Hadoop从入门到上手企业开发

    近百节课视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程目录 000 上课方式和课程大纲介绍 ...065 回顾MapReduce执行过程以及MapReduce核心 066 Hadoop MapReduce框架数据类型讲解 067

    分布式计算利器_MapReduce

    分析MapReduce 执行过程 Hadoop 的数据类型 输入文件格式化类InoutFormat 输出格式化类OutputFormat

    Hadoop 培训课程(3)MapReduce_1

    Hadoop 培训课程(3)MapReduce_1 ...MapReduce执行过程** 数据类型与格式*** Writable接口与序列化机制*** ---------------------------加深拓展---------------------- MapReduce的执行过程源码分析

    MapReduce作业运行流程

    TaskTracker:定期与JobTracker通信,执行Map和Reduce任务 HDFS:保存作业的数据、配置、jar包、结果 作业运行流程 1.在客户端启动一个作业。 2.向JobTracker请求一个Job ID。 3.将运行作业所需要的资源文件复制到...

    分布式计算框架MapReduce

    本文来自于51cto,文章介绍了MapReduce是什么、MapReduce执行流程以及MapReduce1.x架构和MapReduce2.x架构等相关内容。MapReduce源自Google的MapReduce论文,论文发表于2004年12月。HadoopMapReduce可以说是...

    Mapreduce实验报告.doc

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

    6-MapReduce.ppt

    MapReduce执行的全过程包括以下几个主要阶段:从分布式文件系统读入数据、执行Map任务输出中间结果、通过 Shuffle阶段把中间结果分区排序整理后发送给Reduce任务、执行Reduce任务得到最终结果并写入分布式文件系统。...

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

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

    MapReduce编程实例:单词计数

    在前面《MapReduce实例分析:单词计数》教程中已经介绍了用 MapReduce 实现单词计数的基本思路和具体执行过程。下面将介绍如何编写具体实现代码及如何运行程序。 首先,在本地创建 3 个文件:file00l、file002 和 ...

    分布式MapReduce相关技术研究

    通过MapReduce开发过程中学到了不少东西 ,1,约束编程模式使得并行和分布式计算非常容易,也易于构造容错的计算环境;2,网络带宽是稀有资源。大量的系统优化是针对减少网络传输量为目的的:本地优化策略使大量的...

    MapReduce介绍

    Hadoop的主要部分就是MapReduce,该PDF主要就是讲解MapReduce的执行过程

    Sparkvs.MapReduce时间节约66%,计算节约40%

    本文将介绍基于物品的协同过滤推荐算法案例在TDWSpark与MapReudce上的实现对比,相比于MapReduce,TDWSpark执行时间减少了66%,计算成本降低了40%。MapReduce为大数据挖掘提供了有力的支持,但是复杂的挖掘算法往往...

    Java MapReduce学习笔记实战内容-小白基础内容

    3. **Shuffle阶段**:在Map和Reduce之间,MapReduce框架自动执行一个称为“Shuffle”的过程,它将所有相同键的中间值组合在一起,以便Reduce函数可以处理它们。 4. **Reduce函数**:Reduce函数也是用户定义的,它...

    java大数据作业_5Mapreduce、数据挖掘

    课后作业 ...5.简述mapreduce流程 6.简述二次排序算法 有输入数据如下所示: 1 2 2 3 2 1 4 6 3 1 3 8 3 2 需要使用二次排序算法,得到如下处理结果: 1 2 2 1 2 3 3 1 3 2 3 8 4 6 请简述处理过程

    云计算中的MapReduce技术

    ),分析了MapReduce的基本原理,并以字数统计为例,详细介绍了作业提交、映射任务分配、映射任务执行、归约任务分配、排序、归约任务执行、作业完成等7大MapReduce计算流程,最后描述了MapReduce在云计算中的重要作用。

Global site tag (gtag.js) - Google Analytics