大数据开发MapReduce算法入门解析
MapReduce,作为Hadoop的原生计算引擎,在早期的大数据市场当中,无疑是得到重用的,而后面随之而来的Spark开始逐渐侵占市场,MapReduce似乎走向末没落。但是从本质上来说,Spark也源自MapReduce思想。今天的大数据开发分享,我们就主要来讲讲MapReduce算法入门解析。
Hadoop中的MapReduce
在大规模数据处理时,MapReduce在三个层面上的基本构思
如何对付大数据处理:分而治之
对相互间不具有计算依赖关系的大数据,实现并行最自然的办法就是采取分而治之的策略。
上升到抽象模型:Mapper与Reducer
MPI等并行计算方法缺少高层并行编程模型,为了克服这一缺陷,MapReduce借鉴了Lisp函数式语言中的思想,用Map和Reduce两个函数提供了高层的并行编程抽象模型。
上升到构架:统一构架,为程序员隐藏系统层细节
MPI等并行计算方法缺少统一的计算框架支持,程序员需要考虑数据存储、划分、分发、结果收集、错误恢复等诸多细节;为此,MapReduce设计并提供了统一的计算框架,为程序员隐藏了绝大多数系统层面的处理细节。
构建抽象模型-Map和Reduce
借鉴函数式设计语言Lisp的设计思想
函数式程序设计(functional programming)语言Lisp是一种列表处理语言(List processing)。
Lisp定义了可对列表元素进行整体处理的各种操作,如:
如:(add#(1 2 3 4)#(4 3 2 1))将产生结果:#(5 5 5 5)
Lisp中也提供了类似于Map和Reduce的操作
如:(map‘vector#+#(1 2 3 4 5)#(10 11 12 13 14))
通过定义加法map运算将2个向量相加产生结果#(11 13 15 17 19)
(reduce#’+#(11 13 15 17 19))通过加法归并产生累加结果75
Map:对一组数据元素进行某种重复式的处理
Reduce:对Map的中间结果进行某种进一步的结果整合
关键思想:为大数据处理过程中的两个主要处理操作提供一种抽象机制
MapReduce中的Map和Reduce操作的抽象描述
MapReduce借鉴了函数式程序设计语言Lisp中的思想,定义了如下的Map和Reduce两个抽象的编程接口,由用户去编程实现:
—map:(k1;v1)→[(k2;v2)]
输入:键值对(k1;v1)表示的数据
处理:文档数据记录(如文本文件中的行,或数据表格中的行)将以"键值对"形式传入map函数;map函数将处理这些键值对,并以另一种键值对形式输出处理的一组键值对中间结果[(k2;v2)]
输出:键值对[(k2;v2)]表示的一组中间数据
—reduce:(k2;[v2])→[(k3;v3)]
输入:由map输出的一组键值对[(k2;v2)]将被进行合并处理将同样主键下的不同数值合并到一个列表[v2]中,故reduce的输入为(k2;[v2])
处理:对传入的中间结果列表数据进行某种整理或进一步的处理,并产生最终的某种形式的结果输出[(k3;v3)]。
输出:最终输出结果[(k3;v3)]
Map和Reduce为程序员提供了一个清晰的操作接口抽象描述
各个map函数对所划分的数据并行处理,从不同的输入数据产生不同的中间结果输出。
各个reduce也各自并行计算,各自负责处理不同的中间结果数据集合—进行reduce处理之前,必须等到所有的map函数做完,因此,在进入reduce前需要有一个同步障(barrier);这个阶段也负责对map的中间结果数据进行收集整理(aggregation&shuffle)处理,以便reduce更有效地计算最终结果
最终汇总所有reduce的输出结果即可获得最终结果
关于大数据开发,MapReduce算法入门解析,以上就为大家做了简单的讲解了。MapReduce的并行计算思想,在大数据离线批处理上,是具有很好的基础的,搞懂MapReduce算法很重要。
2路4寸低音单元,来自枫叶国的桌面格调好物PSBAM3书架音箱作为一个不算太发烧的音乐爱好者,我对于桌面音箱一直都是颜值优先考虑,音质放在其次,当然也不能太拉胯,综合下来,能入耳看上眼的寥寥无几,如果再加上预算限制,掰着手指头数数也就那么三四
有了新笔记本电脑,旧的苹果macbook又该怎么解决呢?众所周知,笔记本电脑根据系统不同大致可以分为Mac阵营和Windows阵营,随着苹果手机的热销,近年来,苹果macbook受到了更多消费者的追捧与喜爱,曾经远落后于Windows系
为什么全球都嫌弃的iPhoneSE3在日本却能卖爆稿源中关村在线iPhoneSE3作为目前在售最便宜的搭载A15处理器的iOS设备,在发售之初备受关注,但上市之后与发售前火热的关注度形成鲜明的对比,由于落后时代的配置和过高的定价(
中兴推出AX3000巡天版路由器自研双核主芯片5月9日,中兴举行Axon40系列手机发布会。除了Axon40系列以外,中兴还推出了全新的AX3000巡天版路由器。中兴AX3000巡天版路由器采用41五天线设计,可以覆盖1001
值得推荐的几款蓝牙耳机在喧闹的城市中,奔波了一天的打工人都希望周围安静些,能够好好地休息一下享受一下音乐。所以现在很多用户在选择蓝牙耳机时会优先选择降噪效果比较好的,但是很多人其实不知道如何挑选降噪功能
鸿蒙新机亮相,5000mAh100W,还有台积电4nm强芯坐镇自从受打压后,华为的手机业务严重影响了其销量。在四轮制裁下,现在华为手机因为芯片断供,经常缺货,麒麟9000已经是一年半以前的芯片了,虽然性能有保障,但还是缺货。华为现在的手机业务
2022手机处理器排行榜,前十都是超高性能,换手机前请先了解一下一部手机的性能,主要取决于处理器,处理器越好,则运行起来越流畅。处理器这些年的进步业非常快,从CortexA5到CortexX1,从28nm的制程到现在的4nm制程,处理速度越来越
北斗系统助智能终端撬动高精定位市场来源人民网原创稿编者按北斗卫星导航系统是支撑我国经济社会发展的重要空间基础设施,北斗三号系统开通后,提高北斗产业支撑能力扩大北斗应用普及率已成为促进北斗产业发展保障国家安全的重要任
别让一元购成为套路购来源中国消费网记者近日调查发现,有多款APP打出一元购0元购的广告,号称支付一元乃至不用花钱就能得到手机等各种商品,或通过下载软件观看广告等可获取免费抽奖机会赢取手机等商品,由此吸
东方港湾调研石基信息根据5月9日披露的机构调研信息,知名私募东方港湾对1家上市公司进行了调研,相关名单如下1)石基信息(证券之星综合评级0。5星市盈率216。37)个股亮点蚂蚁金服合作与蚂蚁金服在支付
美国学者为什么与中国相比美国在人工智能技术实施方面远远落后以下是一位美国学者,本特林德瓦尔,的观点与看法是的,美国确实落后于很多世界其他地区,而不仅仅是中国。整个中国,十数亿人,人均水平并不领先于美国,但是,许多应用,许多数百人的公司在技