千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > MapReduce原理

MapReduce原理

来源:千锋教育
发布人:xqq
时间: 2023-12-04 22:17:27 1701699447

在Hadoop框架中最著名的就是MapReduce组件,它的处理逻辑来源于谷歌的旧三驾马车之一——MapReduce。

MapReduce是解决问题并行任务的一种模型,将一个可拆解的任务分散到多个计算节点进行计算,最后合并计算结果。

例如,现在需要解决一个问题:尽可能以比较快的速度统计一个图书馆在书架上一共陈列了多少本书。

图 统计图书馆的书

一种方法是,找一个在数数方面有超高本领的人,由他一个人来完成;另一种方法是,雇用一大批资质平庸的负责统计图书数量的人和一个负责分配任务的人,由分配任务的人负责划分区域,确保每个人都分到一部分要统计的书架,不重不漏。然后对所有的人下发开始统计的指令,统计图书的人将自己负责的区域统计完成记录到纸上,所有统计图书的人上交统计结果后,负责分配任务的人将所有人的统计结果进行累加,得到图书统计的结果。如果中途有人因为一些意外原因发生计数终止,那么就再派一个人前去重新完成他未完成的工作任务。

不难想象,如果方法得当,后一种方法要比前一种方法靠谱一些。

这个有超高本领的人是不是容易被找到,他一个人会不会有失误,他的薪水要求是不是太高,这些问题的可控性会变得非常不好。而资质平庸的人通常在市场供应方面不会让我们那么担心,只要统计的方法论和调度方式没有问题,不仅这种方式的风险更小,而且成本更低,速度更快,MapReduce就是这样一种并行机制。

下面从辩证的角度来看这种机制的优点和缺点。优点如下:

(1)隐藏大量技术细节。开发人员不需要关注容灾管理、负载均衡和并行计算实现的代码部分,只需要调用相关的API,设置参数即可。

(2)可伸缩性好。在Map阶段,可以实现每增加一台服务器就将计算能力接入到集群里,而且能实现在集群运行时添加计算节点(一般用在线扩容这个技术名词来描述这一特点)。缺点如下

(1)实时性差。和磁盘交互频繁,中间要多次将计算结果保存到磁盘,使实时计算能力大打折扣。

(2)编程习惯需要适应。需要将在学习《数据结构》或者算法理论中学习到的算法实现方式转换成为MapReduce方式,编程时需要特意构建这种程序逻辑。而且这种方式的局限性导致并非所有的问题都适合用MapReduce方式进行解决。

虽然有不少缺点,但是Hadoop仍然是目前离线计算的利器。

tags: IT培训
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT