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的详细工作流程相关推荐

  1. MapReduce简述、工作流程

    MapReduce简述.工作流程 MR编程模型之执行步骤: 1.准备map处理的输入数据 2.mapper处理 3.Shuffle 4.Reduce处理 5.结果输出 (input)<k1,v1 ...

  2. MapReduce详细工作流程解析

    MapReduce工作流程 一.流程示意图 二.流程详解 1.split阶段 2.map阶段 3.Shuffle阶段 4.Reduce阶段 5.注意 三.各个阶段的工作机制 1.InputFormat ...

  3. MapReduce概述及工作流程

    内容 mapreduce原语(独创) mapreduce工作流程(重点) MR作业提交流程(重点) YARN RM-HA搭建(熟练) 运行自带的wordcount(了解) 动手写wordcount(熟 ...

  4. DCHP详细工作流程及分析

    原文链接:https://blog.csdn.net/Andy_93/article/details/78238931 DHCP的作用: DHCP 全称Dynamic Host configurati ...

  5. mapgis矢量化怎么打分数_mapgis矢量化的详细工作流程

    感觉不错就麻烦评下分哦 1 . 准备光栅文件,启动 MAPGIS 输入编辑子系统,新建工程. 新建控制点.界址点.线层等项目文件,建立界址点文件和线层 文件的属性结构: 2 . 采集控制点,记录图幅左 ...

  6. 大数据之-Hadoop3.x_MapReduce工作流程---大数据之hadoop3.x工作笔记0109

    1.然后我们再去看MapReduce的详细工作流程,可以看到比如首先我们有个200m的文件ss.txt,然后首先,我们写的客户端程序,首先去 获取待处理的数据,然后根据参数配置,形成任务规划,实际上就 ...

  7. Hadoop之MapReduce工作流程

    Hadoop之MapReduce工作流程 目录 流程示意图 流程详解 注意 1. 流程示意图 MapReduce工作流程 流程示意图,如下图 2. 流程详解 上面的流程是整个mapreduce最全工作 ...

  8. Yarn详细的工作流程

    yarn详细工作流程 第一步:客户端向ResourceManager 申请运行程序 第二步:ResourceManager 检查是否有运行权限,如果有就会返回jobid和程序提交的资源路径 第三步:根 ...

  9. 爬虫之scrapy工作流程

    Scrapy是什么? scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取到数据内容.Scrapy 使用了 Twisted['twɪstɪd] ...

最新文章

  1. 欢迎大家批评:CSDN Blog用户体验调查
  2. 11.32 php扩展模块装安
  3. 宝塔ssl验证域名失败_申请一年期限的AlphaSSL泛域名证书 – 安装第三方证书
  4. ANdroid O MeidiaPlayer 深入理解(一)
  5. js template换行_JavaScript字符串换行符?
  6. android studio列模式,在Android studio 中使用单例模式
  7. 第一次当项目经理压力大_项目经理不想被甩锅,你要这样做进度管理
  8. HDU1233 还是畅通工程【Kruskal算法+并查集】
  9. Boost.Asio的使用技巧
  10. 游戏开发:目前主流游戏引擎的分析报告
  11. QQ空间无法点赞或者QQ空间点赞被取消
  12. 最新中国省市区SQL
  13. E - Competitive Seagulls(博弈)
  14. 洛谷【P1873】 砍树 简单二分解析
  15. 三十年变迁,我们大前端正青春!
  16. 原生拖拽太拉跨了,纯JS自己手写一个拖拽效果,纵享丝滑
  17. QMS-云质-质量管理软件-西门子MES里面有质量模块,为什么还要收购质量软件-IBS?
  18. transform: scale() 图片文字模糊的原因
  19. CloudCompare点云配准
  20. Windows Server 2008下Microsoft Office Excel 不能访问文件解决方法

热门文章

  1. pmp证书合理复习时间是多长?
  2. 用python实现简单的队列
  3. 吴恩达机器学习课后作业——线性回归
  4. Win10提示无法创建新的分区也找不到现有的分区解法
  5. CentOS配置域名转发服务器 FAQ
  6. LeetCode刷题2
  7. Python练习题及答案
  8. 为什么insert操作会把整张表都锁住呢?
  9. 代理记账公司的业务有哪些方面?
  10. 为什么要用反指纹浏览器?