欢迎来到天天文库
浏览记录
ID:50231945
大小:2.11 MB
页数:7页
时间:2020-03-05
《主流大数据处理开源架构的分析及对比评测.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、万方数据主流大数据处理开源架构的分析及对比评测方艾,徐雄,梁冰,张玉忠,杨翊平(中国电信股份有限公司广州研究院广州510630)摘要:结合电信增值业务领域中对大数据处理的实际需求,对现有主流的分布式大数据处理架构(Hive、Impala、Spark)的核心进行分析与实测,比较它们在大数据处理过程中的优劣及适用的场景,从而为大数据分析所面临的架构适用性选型提供参考。关键词:大数据;Hive;MapReduce;Impala;Sparkdoi:lO.11959巧.issn.1000—0801.2015174C
2、omparisonofopen—SourceDistributedComputingFrameworkforBigDataFangAi,XuXiong,LiangBing,ZhangYuzhong,YangYiping(GuangzhouResearchInstituteofChinaTelecomCo.,Ltd.,Guangzhou510630,China)Abstract:Acomparisonofthreeopensourcedistributedcomputingframeworksforbigd
3、ata(Hive,ImpalaandSpark)wasconducted.Testsweremntoevaluatetheperfomanceaimingatrealbusinessdemands.Thecostofimplementationtomeetbusinessrequirementswasalsodiscussed.Keywords:bigdata,Hive,MapReduce,Impala,Spark1引言分布式并行计算是当前对大数据处理分析的主要方式,基于Google提出的分布式文件系统G
4、FS(Googlefilesystem)和M印Reduce算法,Hadoop开源实现了一个通用的计算框架⋯,通过Hadoop,各种计算需求可分解成一系列MapReduce过程,Hadoop框架具有通用、灵活方便、扩展性好、吞吐量大等优点。Had00p的M印Reduce发展到2.0版本,进一步优化了资源调度与利用,加强了容错性、可用性等。Hive等工具正是利用这一框架,将SOL类型的查询与计算转化为M叩Reduce过程,实现了对海量数据的处理。收稿日期:2014—12一12;修回日期:2015一07一08M
5、apReduce是一个批处理的过程,难以满足查询的实时性和交互性。为了应对实时要求高的计算,一些工具避开了M印Reduce过程,如Impala【2l,更适合于实时的交互式查询,给数据分析人员提供了快速实验、验证想法的大数据分析工具。为了实现高效率的计算,Spa烈3】采用了基于有向图(DAG)的计算框架。将计算任务分解成为可同时进行的任务。使用RDD(弹性分布数据集)数据模型,将中间数据放进内存并可共享,避免频繁的磁盘读写以提高处理速度。同样作为一个通用性的计算框架,Spark具有高容错、高性能等优点,特别
6、适合社交网络分析、机器学习、流处理等。论文引用格式:方艾,徐雄,粱冰等.主流大数据处理开源架构的分析及对比评测.电信科学.2015174FangA,XuX,LiangB,e£d.Compadsonofopen—sourcedistributedcomputingframeworkforbigdata.TelecommunicationsScience,20151742015174—1皇堡壁堂兰璺堂簟●一万方数据在电信的大数据分析处理的实际需求中,考虑集群配置(包括内存、CPU、网络环境等)限制条件,这3类
7、处理框架的实际性能表现如何,各自适用于什么样的应用场景?需通过实际业务驱动的方式验证。本文以实际运营中产生的电信产品日志处理及分析为基础,紧贴实际业务需求设计案例进行测试对比,对不同场景下不同框架的吞吐量、响应时间、资源消耗等情况进行综合评价,为不同架构的适用性分析和技术选型提供参考。2核心环节对比2.1MapReduCeMapRedcue的基本原理是将任务分解成适合并行执行的m印.shume.reduce(映射一整理一归纳)过程,分布在不同机器上运行。如图1所示,mapper将输入数据映射为成对的(ke
8、y,value)格式,对key和value进行操作(计数、累加、去重等),产生中间数据,经过重新排列组合,相同的kev被发送(shume)到同一个reducer,进行汇总,最后输出结果。由此可见,MapReduce是一个批处理过程,上一个环节结束后才能执行下一个,如果一个子任务的中间环节出错,则这个任务需重新开始。复杂的任务需要被分解为更多的MapReduce过程,因此导致了高时延,加上shume时需将数据写入文件系统,硬盘读
此文档下载收益归作者所有