MapReduce的详细工作流程
MR的详细工作流程
上图给的是MR(任务:将200M的数据按照单子首字母是a-p,q-z分为两个区)的工作流程
1.获取将要处理的文本数据
2.将数据进行切片处理
3.提交所需的基本信息,class文件等
4.计算Map阶段应该需要几个MapTask(和切块的数量有关,一般128M就会切成一块)
5.将切片切好的数据块,调用RecorderReader类,读取数据
6.将5中读取完成的数据交给MapTask处理,处理之后的结果就是一种以键值对存在的数据,通过Context中的write方法将其写出
7.在Map和Reduce之间存在一个叫环形缓冲池的东西,这是Hadoop这个框架最为牛逼的概念,这个缓冲池的大小默认为100M,其实就是一段长为101M的空间(100M的数据还要有1M的索引空间),将Map阶段的数据不断写入到这个池子中,在数据在进行不断的写入操作时,到达80%的时候即数据输入到80M,这个时候,数据则会进行溢写操作,就是将数据从该内存写入到磁盘中,同时进行分区操作,与此同时,数据则会进行反向存储,因为此时还有20M的空间对吧,继续写,当你写到20M出头此时刚才的80M应该已经读写完成了,若没有完成则会进行等待。反复如此,进行溢写读取操作,直至任务完成。
8.经过7的操作之后,每一个MapTask已经进行了分区处理,那么将会在内部的分区中进行快拍排序
9.将经过8处理后的数据,同意汇总,交给Reduce进行最后的处理。
注意:环形缓冲区的大小会影响到MR的执行效率,缓冲区越大,io次数越少,执行的速度则会更快(但是,在MapTask中,默认给的内存为1G,而且在这中还要包括数据的写入,逻辑运算所需要的的内存,并不是越大越好!!!)
环形缓冲区机制
环形缓冲区具体的实现细节!!
MapReduce的详细工作流程相关推荐
- MapReduce简述、工作流程
MapReduce简述.工作流程 MR编程模型之执行步骤: 1.准备map处理的输入数据 2.mapper处理 3.Shuffle 4.Reduce处理 5.结果输出 (input)<k1,v1 ...
- MapReduce详细工作流程解析
MapReduce工作流程 一.流程示意图 二.流程详解 1.split阶段 2.map阶段 3.Shuffle阶段 4.Reduce阶段 5.注意 三.各个阶段的工作机制 1.InputFormat ...
- MapReduce概述及工作流程
内容 mapreduce原语(独创) mapreduce工作流程(重点) MR作业提交流程(重点) YARN RM-HA搭建(熟练) 运行自带的wordcount(了解) 动手写wordcount(熟 ...
- DCHP详细工作流程及分析
原文链接:https://blog.csdn.net/Andy_93/article/details/78238931 DHCP的作用: DHCP 全称Dynamic Host configurati ...
- mapgis矢量化怎么打分数_mapgis矢量化的详细工作流程
感觉不错就麻烦评下分哦 1 . 准备光栅文件,启动 MAPGIS 输入编辑子系统,新建工程. 新建控制点.界址点.线层等项目文件,建立界址点文件和线层 文件的属性结构: 2 . 采集控制点,记录图幅左 ...
- 大数据之-Hadoop3.x_MapReduce工作流程---大数据之hadoop3.x工作笔记0109
1.然后我们再去看MapReduce的详细工作流程,可以看到比如首先我们有个200m的文件ss.txt,然后首先,我们写的客户端程序,首先去 获取待处理的数据,然后根据参数配置,形成任务规划,实际上就 ...
- Hadoop之MapReduce工作流程
Hadoop之MapReduce工作流程 目录 流程示意图 流程详解 注意 1. 流程示意图 MapReduce工作流程 流程示意图,如下图 2. 流程详解 上面的流程是整个mapreduce最全工作 ...
- Yarn详细的工作流程
yarn详细工作流程 第一步:客户端向ResourceManager 申请运行程序 第二步:ResourceManager 检查是否有运行权限,如果有就会返回jobid和程序提交的资源路径 第三步:根 ...
- 爬虫之scrapy工作流程
Scrapy是什么? scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取到数据内容.Scrapy 使用了 Twisted['twɪstɪd] ...
最新文章
- 欢迎大家批评:CSDN Blog用户体验调查
- 11.32 php扩展模块装安
- 宝塔ssl验证域名失败_申请一年期限的AlphaSSL泛域名证书 – 安装第三方证书
- ANdroid O MeidiaPlayer 深入理解(一)
- js template换行_JavaScript字符串换行符?
- android studio列模式,在Android studio 中使用单例模式
- 第一次当项目经理压力大_项目经理不想被甩锅,你要这样做进度管理
- HDU1233 还是畅通工程【Kruskal算法+并查集】
- Boost.Asio的使用技巧
- 游戏开发:目前主流游戏引擎的分析报告
- QQ空间无法点赞或者QQ空间点赞被取消
- 最新中国省市区SQL
- E - Competitive Seagulls(博弈)
- 洛谷【P1873】 砍树 简单二分解析
- 三十年变迁,我们大前端正青春!
- 原生拖拽太拉跨了,纯JS自己手写一个拖拽效果,纵享丝滑
- QMS-云质-质量管理软件-西门子MES里面有质量模块,为什么还要收购质量软件-IBS?
- transform: scale() 图片文字模糊的原因
- CloudCompare点云配准
- Windows Server 2008下Microsoft Office Excel 不能访问文件解决方法