基于Hadoop平台的大数据分析关键技术标准化探讨


编辑:孙俊娟E-mail:sunjj@cesi.cR大数据与云计算标准研究专题ITopiconStandardsforBigData&CloudComputingI基于Hadoop平台的大数据分析关键技术标准化探讨i-esearchonStandardizationofKeyTechniquesofBigDataAnalysisBasedonHadoopPlatforml中兴通讯业务研究院高洪杨庆平黄震江摘要分析基于Hadoop平台的大数据分析关键技术面临的标准化问题,从数据采集、并行计算框架、分析结果输出、并行数据分析算法四个方面进行标准化的分析和调研,提出包含架构模型等四个方面的标准化方向以及相关API等方面的标准化建议。关键词大数据分析计算框架并行分析算法HadoopAbstract:Inthispaper,weinvestigatethestandardizationissuesandchallengesofthebigdataanalysistechniquesbasedonHadoopplatform.Byanalyzingandresearchingstandardsfromthefouraspectsincludingdatacollection,parallelcomputingframework,theresultsoftheanalysisoutput,paralleldataanalysisalgorithms,weconcludefouraspectsofstandardizationdirectionincludingtheschemamodelaswellastheAPIstandardizationrecommendations.Keywords:bigdataanalysis;computingframework;parallelanalysisalgorithms;Hadoop引言2大数据产业发展的瓶颈大数据时代的到来,给传统的数据分析、数目前业界基于Hadoop平台的大数据分析系统提罟挖掘技术带来了新的挑战和机遇,基于大数据的供的服务和接口都不尽相同,每个厂商处理大数据}析技术发展十分迅速,尤其是大数据分析平台的全流程都会有所区别,尤其在数据采集、并行分tadoop得到了国内各大厂商的极大关注,各方普遍析算法、数据展示这三方面更是各不相同。由于大枣于开源的Hadoop平台进行各种优化和定制化的改数据分析系统正处于快速发展阶段,国际上尚未出兰。在此背景下大数据分析商用服务标准不一、接台相关的接口、服务标准。关键技术的不统一主要]和数据绑定困难等问题也随之而来,阻碍了大数带来以下问题:苦分析技术的进一步推广和发展,因而基于Hadoop(1)大数据分析系统服务化没有统一的接口和服F台的大数据分析技术标准化工作也逐渐被业界关务规范。兰。目前国际尚未出现大数据分析的全流程标准服(2)分析结果数据无法共享。各个分析系统对分}或接口定义,本文重点根据国内的实际现状,并析结果的定义各不相同,即使同一厂商针对不同的参考国际上现有的各个子模块的服务接口,对基于场景分析结果定义也不相同,严重影响了业务的发tadoop平台的大数据分析的全流程及其中涉及到的展,也违背了数据共享的精神。}个模块功能进行对比研究,提出对整体架构和接(3)影响大数据产业的长远发展。受服务、接口]进行标准化的建议,以保证数据分析平台可以在不统一的影响,围绕Hadoop分析IT的GUI可视化斥同场景下统一使用。工具、操作维护等都需要做多种适配,造成大数据hlLoJ2l们ww3w辅Jts.ce5si.c期n一■■■■■_ 万方数据 I大数据与云计算标准研究专题_TopiconStandardsforBigData&CloudComputing。4大数据分析主流技术对比及标准化建议3典型大数据分析系统架构模型对比各种基于Hadoop平台的大数据分析系统,上并未出现针对大数据分析技术的标准,但是业界◇甲c攀型黧纛黧黧飘纛蠢厂V、.幽■_■]⋯⋯⋯J⋯J⋯~⋯⋯,’,y、w⋯v___一旰甬嗲巴移彰化提供了基础。结合大数据分析的全流程对Hadoop平台进行分析并从中总结出有参考价值内容,将对基于Hadoop平台的大数据分析发展有重要的意义。分布式存储p国萄萄女i}蠢垂季渤4.1数据采集、U≠.一,^o≯,一\一/..J.‘—J1Tm、lb图1架构模型海量数据采集工具有C10udera公司的F1ume、数据采集Facebook的Scribe、LinkedIn的KaVa、淘宝的Time负责将数据从业务系统采集到H。doop分析系统。Tunnel等等,这些采集工具都支持上载到Hadoop数据采集本身并不包含在Hadoop平台中,但是在整平台。本文选取比较有代表性的数据采集工具:个分析系统中起着重要的作用,是业务系统和分析系Cloudera的Flume和Facebook的Scribe,其中Flume统的桥梁,使业务系统和分析系统实现了解耦。已经成为Apache的孵化项目。分布式存储4.1.2对比分析分布式存储是大数据分析平台的存储支撑,基二者相似点:于Hadoop平台的大数据分析系统中基本采用HDFS·都采用了PUSH的框架实现,即在业务系统作为存储子系统,也可以采用其他的云存储系统。节点获取数据PUSH到存储系统;并行计算框架·架构上都具有agent、collector、storage三大组件;并行计算框架是大数据分析系统的核心功能,·都提供Thrift数据同步接口;可以很大程度提高分析效率,使用多台服务器同时·都是分布式高可用可扩展的数据采集系统。进行数据分析。不同点:并行分析算法·Flume支持多master,不存在单点故障;对传统的分析算法需要基于Hadoop的并行计算·Scribe只提供Thrift接口,还需要业务系统实框架实现并行化,才可以在Hadoop分析系统中运行。现;与Hadoop结合比较好的有Mahout、R语言以及国·Flume提供各种丰富的agent,可以直接使用;内学术界针对H。doop框架进行并行化后的算法。·Flume提供丰富可用的数据源功能。分析结果展示Scribe在agent只提供一种记录日志的接口:主要是指分析结果提供给业务系统的表现形式,Log(constvector&messages)。agent客户端■囡删兰万方数据 大数据与云计算标准研究专题TopiconStandardsforBigData&CloudComputing通过Thrift接口来记录日志信息,并收集到Scribe服Flume记录数据接口有提供如表1所示的基础务端。接口。表1Flume数据源接口叠‘正IⅡ万耵垂重用莲置涯j墨嗣一a监听用户编辑历史和快捷键输入Consoleb监听标准输入StdinC由RPC框架监听port端口rpcSource(port)d一次性读取一个文本text(”filename”)e监听文本的追加行tail(”filename”【,startFromEnd=false】)f监听多个文本的追加行multitail(”filename”【,file2【,file3⋯]】)g监听文件目录的结尾tailDir(”dirname”)h周期性执行命令execPeriodic(”cmdline”,ms)l执行命令execStream(”cmdline”)执行命令exec(”cmdline”)Jk监听hdfs的sequencefileseqfile(”filename”)l监听udp端口syslogUdp(port)mscribe插件scribe[(+port)】ntwitter插件twitter(”username”,”pw”【,”url”])从Scribe和Flume对比来看,Scribe只提供一个和YARN的主要计算接口进行比较,如表2所示。消息接收接口,对于消息的来源处理,应用系统需从计算接口对比分析来看,MAPREDUCE和要大量的定制工作量。YARN在接口层是完全相同的,对于业务系统来说Flume提供的数据源功能接口比较全面灵活,能接口是统一的。够处理文本监控、端口监听,主流社交化插件等各4.2.3标准化建议个方面的数据来源,应用系统可以零开发直接使用大数据分析主要是基于并行计算框架完成,因相关功能插件。此并行计算框架的标准化尤为关键,从以上分析可4.1.3标准化建议以看出,并行计算框架提供的接口基本是一致的,海量数据采集标准化可以从架构和接口两方面因此并行计算框架服务接口的标准化是可行也是必考虑,海量数据采集架构标准化建议基于PUSH框须的,具体可以通过提供java、rest、C、thrift等接架、架构模型至少包含agent、collector、storage三大口方式,在接口的具体定义上做一些标准化的工作。模块、支持分布式可扩展等方面。海量数据采集接4.3并行算法口可以基于Rest、Thrift接口进行标准化设计。4.3.1技术现状4.2并行计算框架数据分析算法需要在Hadoop的并行计算框架上4.2.1技术现状实现并行化,可以实现的通用并行算法覆盖到了聚基于Hadoop平台的并行计算框架包含:类、分类、贝叶斯等大部分数据挖掘算法。MahoutMAPREDUCE和YARN。和R是目前比较流行的基于Hadoop的并行算法4.2.2对比分析工具。并行计算框架主要是提供编程的API接口,业务4.3.2对比分析系统基于API完成并行计算任务,对MAPREDUCEMahout是机器学习和数据挖掘的一个分布式框httv2.//们。3w蕊ItScesi嚣_.cn■■■■■■_ 万方数据 I大数据与云计算标准研究专题ITopiconStandardsforBigData&CloudComputing表2MAPREDUCE和YARN的并行计算主要接口比较新建一个map类map(key,value,context)map(key,value,context)新建一个reduce类reduce(key,value,context)reduce(key,value,context)设置map类setMapperClass(Map)setMapperGlass(map)设置reduce类setReducerClass(Reducer)setReducerClass(Reducer)设置数据输入格式setInputFormatClass(InputFormat)setlnputFormatClass(InputFormat)设置数据输出格式setOutputFormatClass(cls)setOutputFormatClass(cls)设置输出keysetOutputKeyClass(Class)setOutputKeyClass(Class)设置输出valuesetOutputValueClass(Class)setOutputValueClass(Class)设置map的输出keysetMapOutputKeyClass(Class)setMapOutputKeyClass(theClass)设置map的输出valuesetMapOutputValueClass(Class)setMapOutputValueClass(Class)提交计算集群执行waitForCompletion(verbose)waitForCompletion(verbose)架,是基于Hadoop平台设计和开发的算法工具库。针对分析结果,各个厂商都使用自己的方式进行数Mahout已经实现的分布式算法主要包含分类、聚类、据可视化展示。协同过滤等算法,基本覆盖了现有可供分布式的4.4.3标准化建议算法。数据可视化部分,由于用户需求导致厂商的实目前已经存在开源的R与Hadoop的连接器,现方式千差万别,故不建议对此部分统一标准进行使得R可以基于Hadoop进行数据分析,这样继承约束。了R语言的特性,又使用了Hadoop的分布式计算环境。5结语Mahout是一个通用的算法库,而R是一个编程语言以及编程环境,其本身也有较多第三方包,也随着大数据业务的持续开展,Hadoop平台会获可以由开发者基于此工具方便的开发分析算法。得越来越多的厂商关注,并且基于Hadoop平台在做4.3.3标准化建议各种各样的改造和使用,这就使得基于Hadoop平台并行算法本身标准化比较困难,可以结合特定的大数据分析关键技术标准化工作变得更加紧迫。行业方向的具体需求进行标准化,例如:电信行业结合Hadoop平台的生态圈以及中国大数据市场的需并行算法的标准化以及算法输出的标准化。求,制定符合中国大数据市场的大数据分析技术标4.4数据可视化准体系,有助于降低大数据分析技术门槛、减少大4.4.1技术现状数据分析技术壁垒,这对促进整个大数据产业链的大数据的分析结果基本可以分为统计结果和挖稳定发展有着重大意义。图掘分析结果。数据可视化,是对大数据分析的结果进行图表化的展示。参考文献4.4.2对比分析11】李国杰·大数据研究的科学价值【J]·Na‘u。e,2008,Hado。P平台只是提供通用的计算框架,基于【2】陆嘉恒.Had。。p实战【M】.北京:机械工业出版社,2011.Hadoop平台的分析结果目前包含两种方式:采用【3】T。mwhite,周轰奇,王晓玲,等.Had。。p权威指南【M】.文本文件方式存储在HDFS、Key—Value方式存储在第二版.北京:清华出版社,2011:129—257.HBASE,另外,也将分析结果存储在关系型数据库。(收稿日期:2013.05.1o)■圆篇僦黜 万方数据 基于Hadoop平台的大数据分析关键技术标准化探讨 作者: 高洪, 杨庆平, 黄震江 作者单位: 中兴通讯业务研究院 刊名: 信息技术与标准化 英文刊名: Information Technology & Standardization 年,卷(期): 2013(5) 本文链接:http://d.g.wanfangdata.com.cn/Periodical_xxjsybzh201305008.aspx
还剩4页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享pdf获得金币 ] 2 人已下载

下载pdf