MapReduce是什么?大数据开发的学习之路必须缺它不可吗?
今天我们开始学习新的篇章MapReduce 系列知识,所以本期带来的是大数据开发-MapReduce ,MapReduce作为一种编程模型,它是如何将自己的功能发挥到极致,以此提高工作效率的呢?下面就一起来看。
一、MapReduce简介
MapReduce 是一个高性能的分布式计算框架,用于大规模数据集(大于1TB)的并行运算。它极大的方便编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。MapReduce分为Map(映射)和Reduce(化简)两个阶段,是在HDFS存储数据的基础上,将一个较大的计算任务(job)分解成若干小任务(task),每个小任务都由一个Map任务(task)来计算(这个Map尽量在数据所在节点上完成计算),然后再将每个Map的计算结果由一个或多个Reduce任务(task)合并,得到最终的结果。它的火热发展也得感谢GOOGLE,当初GOOGLE将几篇关于MapReduce的文章发布出来之后,就一炮而红,Hadoop的思想源于Google的几篇论文,提出来分布式计算框架MapReduce。
二、MapReduce结构
MapReduce由Client、JobTracker、TaskTracker、Task组成
1.Client
用户编写的MapReduce程序通过Client提交到JobTracker端 用户可通过Client提供的一些接口查看作业运行状态
2.JobTracker
JobTracker负责资源监控和作业调度 JobTracker 监控所有TaskTracker与Job的健康状况,一旦发现失败,就将相应的任务转移到其他节点 JobTracker 会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器(TaskScheduler),而调度器会在资源出现空闲时,选择合适的任务去使用这些资源
3.TaskTracker
TaskTracker 会周期性地通过"心跳"将本节点上资源的使用情况和任务的运行进度汇报给JobTracker,同时接收JobTracker 发送过来的命令并执行相应的操作, TaskTracker 使用"slot"等量划分本节点上的资源量(CPU、内存等)。一个Task 获取到一个slot 后才有机会运行,而Hadoop调度器的作用就是将各个TaskTracker上的空闲slot分配给Task使用。slot 分为Map slot 和Reduce slot 两种,分别供MapTask 和Reduce Task 使用
4.Task
Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动
说完了结构那我们就仔细看看它是怎么进行操作过程的。
三、MapReduce 的执行流程
通过将输入数据划分为 M 个分片, map 函数的调用分布在多台机器上,这些分片可与不同的机器并行地处理。通过将中间结果的键空间划分为 R 个分片, reduce 函数的调用分布在多台机器上。
下图展示了 MapReduce 操作的整个流程。
1.客户程序中的 MapReduce 库首先将输入文件分成 M 个大小通常为 16MB 或者64MB 的分片。然后开始在集群上的机器复制客户程序
2.其中有一个程序的备份是特殊的,它就是主节点。其它的是由主节点分配任务的从节点。主节点有 M 个 map 任务和 R 个 reduce 任务要分配给那些空闲的从节点。
3.一个被分配了 map 任务的从节点从输入分片中读取内容,然后从输入中解析出键值对被传递给用户定义的 map 函数,由它来产生中间结果的键值对并缓存在内存中。
4.在内存中的键值对被周期性地写入到本地磁盘,通过分片函数被分成 R 个分片。这些分片的位置被回传给主节点,由主节点告诉 reduce 从节点它们的位置。
5.当 reduce 从节点被主节点告知分片的位置时,它从使用 RPC(remote procedure call) 去读取那些缓存数据,当读完后,它会按键值进行排序,然后将有相同键值的键值对组合在一起,形成键/值列表。
6.reduce 从节点遍历已经排序合并好了的中间数据,将每一个键/值列表对传递给客户定义的 reduce 函数。reduce 函数返回的结果被添加到这个 reduce 从节点的结果文件中。
7.当所有 map 从节点和 reduce 从节点完成后,主节点唤醒客户程序。如果 MapReduce 程序成功完成,结果文件被存储在 R 个输出文件中。
以上就是本期的内容了,Hadoop系列知识之前说过会占很多,今天MapReduce也是属于Hadoop的知识体系,希望大家能好好理解。
希望大家点个关注,及时收取最新文章推送,想了解更多敬请咨询加米谷大数据。
有问题的欢迎在评论区留言,如有侵权请告知。
进行太空探测时,太阳能电池正常运转时的离日距离是有限制的吗,为什么?有限与无限没有关紧要。因为我们可以利用磁动机直接发电。谢谢组织的遨请!当然有限制的,咱们来看一张图。图片来自StellariumBobKing。显然,从水星上看去,太阳的直径最大,
新能源销量榜来袭!比亚迪4月再破10万台,哪吒小鹏超越蔚来理想近日,无论是传统车企还是新势力造车纷纷公布4月份的销售成绩。有趣的是在传统车企中比亚迪可谓一枝独秀,以105475辆的成绩独居鳌头,而在新势力造车中蔚来理想表现不佳,零跑小鹏却是以
蔚小理环比跌幅超40,新能源汽车市场格局将如何变化受供应链影响,4月多数造车新势力交付量环比下滑明显,且集体跌出万辆俱乐部。新势力无一家销量破万,普遍环比下滑。原本身处二线阵营中的造车新势力凭借销量已经来到头部,零跑以9087辆交
山东千御科技有限公司山东千御科技有限公司致力于互联网科技行业,提供互联网商业生态的智能营销运营推广工具,其中包含AI人工智能运营优化云计算大数据等核心技术,及协作管理的一站式SaaS解决方案,链接全网
特斯拉加码上游合作!镍稳了周五,巴西矿商淡水河谷公司(ValeS。A。)确认,它已经与特斯拉公司签署了一项长期协议,为特斯拉提供来自淡水河谷加拿大矿山的镍,这些矿山去年生产了7。6万吨镍。淡水河谷没有提供该
传统车企也能造出新势力来源中国经济网经济日报杨忠阳尽管受新冠肺炎疫情多点散发影响,车企4月份销量出现较大幅度下滑,但造车新势力还是在5月份头一天准时公布了上月产销数据。围绕企业销量变化,第三方机构和一些
小鲸云无线充电连接生活新方式不知不觉中,手机几乎成为了无法离手的物件人们对手机的依赖,一天比一天加剧因为手机内部空间的限制加上电池原材料的限定大部分手机电池保持在40005000mAh目前暂时没有革命性的办法
李笑来曾拥有10万枚比特币,套现135亿后,却称比特币是骗局大多数人都听说过比特币的暴富神话,可能还有人跟风炒过比特币,但大部分人最终都是被割了韭菜,赔得血本无归。而要说起靠比特币发家致富的人,我们不得不提到的就是李笑来,他原本是新东方一个
微信怎么可以查看经常联系的人?虽然微信没有查看频繁联系人的功能,但确实有一些小技巧可以查看经常联系的人,不管聊天记录删除与否,都可以有相应的方法查看到对方和谁联系最频繁。下面我就给大家介绍6个小技巧,知道4个以
怎样判断一个人是否适合学习编程?学任何东西没有什么适不适合一说,如果没有兴趣可以选择不学,有兴趣再难的东西都能学会,兴趣是最好的老师,除非不是天生智力有问题,如果一个人对编程很感兴趣,在编码时遇到了难以解决的问题
腾讯已经宣布代理,现在买steam吃鸡号值不值?这个消息已经传出很久了,但是现在估计是黄了,我记得炒的最火的一次就是七月份的时候,当时网上包括某些大主播就在说七月份如果不出国服的话,基本就凉了,然而腾讯也没有让大家失望,果然没有