- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MapReduce迭代式计算发展及应用
MapReduce迭代式计算发展及应用 摘要摘要:MapReduce的优势集中体现在并行计算上,而在迭代计算上则存在诸多不足。科研人员不断对MapReduce并行计算模型进行迭代计算优化,使MapReduce可以支持显示迭代式计算。介绍了传统MapReduce框架与迭代式MapReduce框架,通过K-means算法测试了iMapReduce、Hadoop MapReduce的迭代性能,给出了实验结果及分析
关键词关键词:迭代式计算;MapReduce;Haloop;Hadoop;iMapReduce
DOIDOI:10.11907/rjdk.162775
中图分类号:TP301
文献标识码:A文章编号文章编号2017)005020703
0引言
在全球信息产业高速发展融合的背景下,网络数据资源规模急剧膨胀,尤其是高能物理、互联网应用、基因工程、电子商务以及计算机仿真等领域的数据量攀升速度惊人,现有数据分析工具很难满足日益增长的海量密集型数据的信息处理需求。基于此,Google实验室专门设计了MapReduce编程模型,该模型在数据信息的批量处理上优势明显,但在迭代处理上问题也相当突出。逐次逼近是迭代计算的基本思想,迭代计算过程为先取近似值,然后采用递推公式对近似值反复校正,直至精度达到要求为止。当数据量较小时,可以在单机上进行迭代计算,但当数据量非常大时,迭代处理则极其耗时。在数据挖掘、信息检索、机器学习等领域,有很多算法需要迭代,传统的迭代计算不能有效应对当前的大数据处理需求。经过几年时间,科研工作者对MapReduce进行迭代计算改进,产生了一些迭代式计算框架,包括比较知名的Twister、Haloop等
1传统MapReduce模型框架
Google于2004年在论文《分布式计算:基于大型集群的数据简化处理》中首次提出MapReduce框架,指出MapReduce框架在处理密集型应用数据过程中将处理程序简化抽象为Map与Reduce两个阶段,用户在进行分布式程序设计过程中,只需调用reduce()和map()两个函数即可,无需过多考虑任务调度、设备通信、数据分片以及容错等细节问题。在MapReduce框架内,这些问题都能得到很好的处理。作为MapReduce框架的主要思想,Map与Reduce来自函数编程语言,其原理如图1所示。Map将数据打散,Reduce则负责聚集这些数据。在Map环节,maptask每读取一个block,即采用map()函数对数据进行处理,同时将处理结果写入本地磁盘;在Reduce环节,每个reduce task在对Map Task节点数据进行远程读取过程中,都会采用reduce()函数处理数据,同时将处理完成的数据写入分布式文件系统内。在MapReduce框架内,用户只要通过map和reduce端口,即可快速计算TB级数据,如数据挖掘和日志分析等常见应用。此外,MapReduce框架还适用于圆周率等科学数据的计算
通过上述分析可知,在传统MapReduce框架内,无论是map环节,还是reduce环节,数据处理结果均需写入磁盘内,虽然这一过程会降低系统性能,但是能够提高系统可靠性。也正因如此,传统MapReduce在迭代计算处理上问题突出,若用户强行在传统MapReduce上进行迭代计算,系统性能则会变得非常差
2迭代式MapReduce框架
2.1Twister
在Twister内,大文件不会被自动切割为单个block,所以用户必须提前将文件分割为小文件才能进行task处理。在map环节,调用map()函数处理后,数据结果存储于分布式内存之中,然后利用broker network将数据推送至reduce task(若Twister内存较大,则所有中间数据都能存储其中);在reduce环节,通过combine对reducetask产生的结果进行归并,此时用户可依据条件作出是否结束迭代计算的决定。合并后的数据被分解传送至map task,进行新一轮迭代计算。为有效提高系统容错性,Twister会定时将reducetask和maptask产生的结果录入磁盘内,避免task失败后数据丢失。即使task失败,依然可以从磁盘内调取数据重新进行迭代处理。Twister架构如图2所示
为避免用户在迭代计算中对task的重建,Twister建立了一个taskpool,当用户需要使用task?r,可直接从pool中读取。在Twister内,所有数据与消息均由broker network传递,brokernetwork是独立模块,现阶段仅支持ActiveMQ和NaradaBroking。目前Twister尚属于研究性项目,其
您可能关注的文档
- A Deconstructionist Look at Women’s Economic Status in The Awakening.doc
- A Pragmatic Study of Suibian as a Signal of Speakers’ De facto Care in Chinese Conversations.doc
- A Study on the Text in Anglo―American New Criticism.doc
- ACM学科竞赛开展及学生创新能力培养实践.doc
- ADSS光缆在电力公司电网调度通讯系统中应用.doc
- Advice for the U.S.’Korean Strategy.doc
- An Analysis and Evaluation of the Textbook New Senior English for China(Student’s Book One).doc
- An Analysis of Hemingway’s Suicide.doc
- Android应用软件测试探究.doc
- Android平台加密算法及系统实现.doc
文档评论(0)