简述MapReduce执行过程?

简介: 简述MapReduce执行过程?

简述MapReduce执行过程?


Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集;Reduce是把两个或更多个Map中通过多个线程、进程或独立系统并行执行处理的结果集进行分类和归纳。
MapReduce的执行过程如下:
(1)数据预处理:在任务开始前,首先调用类库,将输入文件分为多个分片。
(2)任务分配:JobTracker为集群中空闲的节点分配Map任务或者Reduce任务。设集群中有M个Map任务和R个Reduce任务(Reduce任务数通常小于Map任务数)。
(3)Map任务:Mapper 读取自己所属的文件分片,将每一条输入数据转换为<key, value>键值对,使用Map函数对每一个键值对进行处理,得到一个新的<key, value>键值对,作为中间结果缓存在当前节点。
(4)缓存文件定位:Map任务得到的中间结果被周期性地写入Mapper所在的本地硬盘中,并把文件的存储位置信息经由JobTracker传递给Reducer。
(5)Reducer 拉取文件:Reducer 通过位置信息到相应的Mapper处拉取这些文件,将同一key对应的所有取值合并,得到<key, list(value)>键值组。
(6)Reduce 任务:Reducer 将所读取到的<key, list(value)>键值组使用Reduce 函数进行计算,得到最终结果并将其输出。
(7)结束:当所有的Map任务和Reduce任务运行完毕后,系统会自动结束各个节点上的对应进程并将任务的执行情况反馈给用户。
目录
相关文章
|
数据采集 分布式计算 搜索推荐
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
|
存储 分布式计算 Hadoop
Hadoop基础学习---6、MapReduce框架原理(一)
Hadoop基础学习---6、MapReduce框架原理(一)
|
存储 分布式计算 Hadoop
【Hadoop】一个例子带你了解MapReduce
【Hadoop】一个例子带你了解MapReduce
195 1
|
数据采集 缓存 分布式计算
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(二)
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(二)
|
分布式计算 Hadoop 数据处理
Hadoop基础学习---6、MapReduce框架原理(二)
Hadoop基础学习---6、MapReduce框架原理(二)
|
分布式计算 资源调度 Hadoop
Hadoop基础学习---5、MapReduce概述和WordCount实操(本地运行和集群运行)、Hadoop序列化
Hadoop基础学习---5、MapReduce概述和WordCount实操(本地运行和集群运行)、Hadoop序列化
|
机器学习/深度学习 分布式计算 监控
Hadoop生态系统中的数据处理技术:MapReduce的原理与应用
Hadoop生态系统中的数据处理技术:MapReduce的原理与应用
|
SQL 存储 分布式计算
hadoop之MapReduce
MapReduce
169 0
|
存储 缓存 分布式计算
Hadoop知识点总结——MapReduce的Shuffle
从Map输出到Reduce输入的整个过程可以广义地称为Shuffle。Shuffle横跨Map端和Reduce端,在Map端包括Spill过程,在Reduce端包括copy和sort过程
263 0
|
分布式计算 Hadoop 索引
Hadoop学习:MapReduce实现倒排索引
Hadoop学习:MapReduce实现倒排索引
334 0
Hadoop学习:MapReduce实现倒排索引