欢迎来到天天文库
浏览记录
ID:34237516
大小:57.14 KB
页数:6页
时间:2019-03-04
《基于mapreduce与rdbms大数据研究对比》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于MapReduce与RDBMS大数据研究对比摘要:随着信息化水平的不断提高,基于MapReduce的数据分析方法受到越来越广泛的关注。针对大数据集,普通关系型数据库管理系统很难满足实际需求。本文采用MapReduce方法进行大数据分析,并与SQLserver进行性能比较,实验结果显示,较之于SQLserver,MapReduce方法加载时间较小,随着数据集增大,MapReduce方法的性能提升也更好。因此,MapReduce方法具有较好的可扩展性和加速比,适用于大数据处理应用。关键词:大数据MapReduceSQL中图分类号:TP338.8文献标识码:A文章编号
2、:1007-9416(2013)08-0233-021引言云计算从开始所谓的“炒概念”到现在获得大多数的认可,过程中技术的成熟,应用和服务的推出是这种转变的关键。Google、Amazon、Microsoft>IBM等云计算的老牌企业巨大的投入,最近Apple花费500万美元购买icloud域名,推出云音乐服务,不难看出云计算巨大的吸引力和发展潜力。很多国内组织机构也投入了大量的资源,如中国移动的“大云”,华为的“云帆计划”和“阿里云”。开源社区也贡献了很多云计算项目,如HadoopEl],Eucalyptus[2]和abiCloud,对云计算发展起到了重要作用。M
3、apReduce[3]作为云计算的关键技术之一,是Google提出的一个用来处理海量数据的分布式系统编程模式。用户定义一个映射函数(Map)处理一个键/值(key/value)对来产生中间的键/值(key/value)对集合,还指定一个归纳函数(Reduce)来合并所有的与同一中间键(key)相关的中间值[4]oMapReduce正是把分布业务逻辑从这些复杂的细节中抽象出来,使得程序员可以不需要有什么并行或者分布式系统的经验,就可以处理超大的分布式系统的资源。从而通过廉价的计算服务来实现原先只能通过采用昂贵高性能计算机才能达到的效果。2大数据分析平台MapReduc
4、e编程模型oMapReduce是Google开发的Java、PythonsC++编程模型,HadoopMapReduce是GoogleMapReduce的开源实现,主要用于大规模(TB级)数据文件处理,它是一种简化的分布式编程模型和高效的任务调度模型,编程人员只需将精力放在应用程序本身,使得云计算环境下的编程十分简单oMapReduce思想是借助"Map(映射)”和“Reduce(化简)”构成运算基本单元,先将数据切割成不相关的区块,分配给大量Map任务处理,再将中间结果作为Reduce函数输入,最后将最终结果汇总输出oMapReduce[5]执行方式如图1所示。简
5、而言之,从图1可以看出,Map-Reduce编程模式将输入数据文件划分为M个独立的数据分片(split);然后分配给多个worker启动M个Map函数并行地执行、写中间文件(本地写)、并将计算结果以key/value对形式输出中间结果。中间结果key/value按照key分组,执行Reduce函数,根据从Master获得的中间文件位置信息,将Reduce命令发送给中间文件所在节点执行,计算并输出最终结果,MapReduce的输出存放在R个输出文件中,可进一步减少了传送中间文件对带宽的需求。3实验分析3.1实验数据集采用8年地面全要素填图数据如表1所示。其中数据格式为
6、(26列/行),各属性名称分别为:区站号(长整数),经度,纬度,海拔高度(均为浮点数),站点级别(整数),总云量,风向,风速,海平面气压(或本站气压),3小时变压,过去天气1,过去天气2,6小时降水,低云状,低云量,低云高,露点,能见度,现在天气,温度,中云状,高云状,标志1,标志2(均为整数),24小时变温,24小时变压。3.2实验与分析3.2.1加载数据首先,分别在Hive和SQLserver平台上创建表,然后把数据集1,4,8分别加载数据到SQLserver,1,4,8个节点的Hive平台的各个表中。从图2中可以看出,MapReduce加载数据的时间远远小于S
7、QLserver,而且集群结点数越多,数据加载时间越短;3.2.2大数据分析查找各区站的总降水量(求和任务)selecta,sum(m)fromtab6groupbya;查找能见度和温度都相等的区站(多表查询任务)selectal.afromtablasal,tab2asa2whereal.t=a2・tandal.r=a2.rgroupbyal.a;图3可以看出,在执行求和任务时,随着数据量增大,SQLserver执行时间明显增加,而MapReduce却增加很平稳。图4可以看出,在执行多表查询任务时,MapReduce随着数据量的增大,执行时间缓慢增长,当处理大
此文档下载收益归作者所有