网站首页  词典首页

请输入您要查询的论文:

 

标题 大数据处理平台比较研究
范文 许吴环+顾潇华
摘要:大数据环境下,传统的数据处理方式不再适用,以云计算技术为支撑的大数据处理平台应运而生。比较了开源Hadoop和Spark平台各自的优缺点,发现各自的适用范围:Hadoop适用于数据密集型任务,并广泛应用于离线分析;Spark因其基于内存计算,在迭代计算和实时分析领域占据优势。二者在功能上有较强的互补性,协同使用可以发挥更大效益。
关键词:大数据平台;Hadoop; Spark;比较研究
中图分类号:TP301
文献标识码:A
文章编号:16727800(2017)004021202
1大数据处理平台
1.1大数据特点
目前,大数据还没有一个标准定义,但是把握大数据的特征,有助于加深对大数据内涵的理解。数据具有的3V特征,即规模大(Volume)、种类多(Variety)、速度快(Velocity)。规模大,意味着数据量不断扩张,数据量级从现在的GB、TB增长到PB、EB甚至ZB级;种类多,指数据类型有结构化、半结构化和非结构化,其中文字、图片、音频、视频等非结构化数据占很大比例;速度快,表示大数据有强时效性,数据快速产生,需要及时处理及分析才能实现大数据的经济价值。 大数据的处理过程为数据抽取与集成、数据分析以及数据解释 [1]。巨量的数据往往也意味着噪声较多,这给数据清洗工作造成困难。传统的关系型数据库处理对象单位通常为MB,适合处理存储结构化数据,而面向大数据的数据库技术能够解决海量的非结构数据存储问题。传统的数据分析方法以算法的准确率作为重要的衡量指标,而大数据的高速性要求算法必须牺牲一部分准确性以更高效地处理数据。
1.2大数据处理平台
为从规模巨大、种类繁多、生成快速的数据集中挖掘价值[2],针对大数据的技术和方法应运而生。GFS、NoSQL、ITHbase、MapReduce等云计算技术发展,使大数据有效存储、管理和分析成为可能。但从众多复杂的大数据技术中进行选择,并搭建完备的大数据处理框架难度很高,不利于挖掘大数据中的经济价值。大数据平台能在用户不了解架构底层细节的情况下,开发大数据应用程序。全球领先的科技巨头纷纷提出了建设与应用大数据处理平台:IBM公司推出了云端版InfoSphere BigInsights[3];HP推出了HP Vertica6.1分析平台[4];Google提出的GFS、MapReduce等云计算技术催生了大数据处理平台的事实标准Hadoop。目前,Google使用的是自己开发的Caffeine[2];Facebook结合自身需求实现了Corona、Prism。完备、高效的大数据处理平台为大数据应用提供一站式基础服务,支持应用系统从清洗、集成、分析到结果可视化展现全过程建设,降低了用户技术门槛[5]。
2大数据处理平台比较
Hadoop的支撑技术(MapReduce等)成熟,实现了海量数据分布式存储和批量处理,应用广泛,成为大数据处理平台的事实标准。Spark以其近乎实时的性能和相对灵活易用而受到欢迎,它同Hadoop一样都是Apache旗下的开源集群系统,是目前发展最快的大数据处理平台之一。
2.1Hadoop与Spark比较
2.1.1Hadoop及特點 Hadoop是由Apache开发的开源云计算平台,实现在大量计算机组成的集群中进行分布式存储和计算。Hadoop框架最核心的技术是HDFS和MapReduce。HDFS是可部署在廉价机器上的分布式文件系统,采用主/从结构,将大文件分割后形成大小相等的block复制3份,分别存储在不同节点上,实现了海量数据存储。MapReduce编程模型实现大数据处理,它的核心是“分而治之”[1]。Map任务区将输入数据源分块后,分散给不同的节点,通过用户自定义的Map函数,得到中间key/Value集合,存储到HDFS上。Reduce任务区从硬盘上读取中间结果,把相同K值数据组织在一起,再经过用户自定义的Reduce函数处理,得到并输出结果;将巨量资料的处理并行运行在集群上,实现对大数据的有效处理。 Hadoop具有如下优点[69]: (1)高扩展性。Hadoop的横向扩展性能很好,海量数据能横跨几百甚至上千台服务器,而用户使用时感觉只是面对一个。大量计算机并行工作,对大数据的处理能在合理时间内完成并得以应用,这是传统单机模式无法实现的。 (2)高容错性。从HDFS的设计可以看出它通过提供数据冗余的方式提供高可靠性。当某个数据块损坏或丢失,NameNode就会将其它DataNode上的副本进行复制,保证每块都有3份。所以,在数据处理过程中,当集群中机器出现故障时计算不会停止。 (3)节约成本。首先,Hadoop本身是开源软件,完全免费;其次,它可以部署在廉价的PC机上;“把计算推送给数据”的设计理念,节省了数据传输中的通信开销。而传统的关系型数据库将所有数据存储起来,成本高昂,这不利于大数据产业发展。 (4)高效性。Hadoop以简单直观的方式解决了大数据处理中的储存和分析问题。数据规模越大,相较于单机处理Hadoop的集群并行处理优势越明显。 (5)基础性。对于技术优势企业,可以根据基础的Hadoop结合应用场景进行二次开发,使其更适合工作环境。比如,Facebook从自身应用需求出发,构建了实时Hadoop系统。 Hadoop系统局限性 [1011]:①不适合迭代运算。MapReduce要求每个运算结果都输出到HDFS,每次初始化都要从HDFS读入数据。在迭代运算中,每次运算的中间结果都要写入磁盘,Hadoop在执行每一次功能相同的迭代任务时都要反复操作I/O,计算代价很大。而对于常见的图计算和数据挖掘等,迭代计算又是必要的;②实时性差。Hadoop平台由于频繁的磁盘I/O操作,大大增加了时间延迟,不能胜任快速处理任务;③易用性差。Hadoop只是一个基础框架,精细程度有所欠缺,如果要实现具体业务还需进一步开发。MapReduce特定的编程模型增加了Hadoop的技术复杂性。
2.1.2Spark及特点 Spark的整个生态系统称为BDAS(伯克利数据分析栈),包括Tachyon、Spark Streaming、Spark Core、MLlib等。其核心框架Spark是为了实现大数据的快速处理而设计的,可以用来构建低延迟应用。Spark以RDD(弹性分布数据集)为基础,实现了基于内存的大数据计算。RDD是对数据的基本抽象,实现了对分布式内存的抽象使用。由于RDD能缓存到内存中,因此避免了过多的磁盘I/O操作,大大降低了时延。Tachyon是分布式内存文件系统,类似于内存中的HDFS,基于它可以实现RDD或文件在计算机集群中共享。Spark没有自己的文件系统,通过支持Hadoop HDFS、HBase等进行数据存储。Spark更专注于计算性能,其特点如下[1113]: (1)高速性。Spark通过内存计算减少磁盘I/O开销,极大缩小了时间延迟,能处理Hadoop无法应对的迭代运算,在进行图计算等工作时表现更好。高速数据处理能力使得Spark更能满足大数据分析中实时分析的要求。 (2)灵活性。较之仅支持map函数和reduce函数的Hadoop,Spark支持map、reduce、filter、join、count等近80多种操作类型。Spark的交互模式使用户在进行操作时能及时获得反馈,这是Hadoop不具备的。Spark SQL能直接用标准SQL语句在Spark上进行大数据查询,简单易学。尽管在Hadoop中有Hive,可以不用Java来编写复杂的MapReduce程序,但是Hive在MapReduce上的运行速度却达不到期望程度。
2.1.3Hadoop与Spark特点比较分析 Hadoop具有高扩展性、高容错性、成本低、高效性、不适合迭代运算、实时性差、易用性差等特点,与之相比,Spark最突出的特点是高速性和灵活性,基于这些特点分析总结如下:Hadoop更注重存储性能,而Spark更专注于计算,可以形象地将二者的处理方式比作“大砍刀”和“剔骨刀”,前者可以胜任更加繁重的任务,但难免粗糙,后者则胜在快速、灵巧上。
2.2Hadoop与Spark应用场景比较
2.2.1Hadoop应用场景 Hadoop的高扩展性、高容错性、基础性等优点,决定了其适用于庞大数据集控制、数据密集型计算和离线分析等场景。针对Hadoop的局限性,为提高Hadoop性能,各种工具应运而生,已经发展成为包括Hive、Pig、HBase、Cassandra、YARN等在内的完整生态系统。HBase新型NoSQL数据库便于数据管理,Hive提供类似SQL的操作方式进行数据分析,Pig是用来处理大规模数据的高级脚本语言……这些功能模块在一定程度上弥补了Hadoop的不足,降低了用户使用难度,扩展了应用场景。
2.2.2Spark应用场景 与Hadoop不同,Spark高速、灵活的特点,决定了它适用于迭代计算、交互式查询、实时分析等场景,比如,淘宝使用Spark来实现基于用户的图计算应用[11]。但是,其RDD特点使其不适合异步细粒度更新状态的应用[1],比如,增量的Web抓取和索引。RDD的特点之一是“不可变”,即只读不可写,如果要对RDD中的数据进行更新,就要遍历整个RDD并生成一个新RDD,频繁更新代价很大。
2.2.3Hadoop与Spark的互补竞争关系 Hadoop与Spark同為大数据处理平台,必然在市场中存在一定的竞争替代关系,二者在功能上有较强的互补性。Hadoop解决了如何将大数据储存起来的问题,Spark在此基础上考虑的是更快速、易用地实现大数据分析,这点从Spark仍采用HDFS作为文件系统就可看出。它们适用于不同的应用场景,有时协同工作会达到更理想的效果,在Spark和Hadoop的许多发行版(如CDH、MapR、InfoSphere BigInsights)中,它们都已经互相支持实现。
3结语
本文分析了大数据的3V特点,论述了大数据处理与传统数据处理的不同,指出了传统处理方式在大数据环境下的局限性。通过分析常用的大数据处理平台,并分析Hadoop和Spark的核心技术,对其优缺点进行了归纳。Hadoop实现了海量异构数据的存储和处理,虽然在处理速度和易用性方面存在缺陷,但由于它的基础性还是得到广泛应用,企业可根据自身应用特点进行改进。虽然Spark不适合异步细粒度更新状态的应用,但在处理性能和易用程度上较Hadoop优势显著,发展也十分迅速。通过比较两者的优缺点,可以发现它们在功能上有较强的互补性,协同使用可以带来效益优化。目前Spark和很多Hadoop发行版都已经互相支持。期望本文对大数据处理平台的选择、利用和研发有所启发。
参考文献:
[1]孟小峰.大数据管理:概念、技术与挑战[J].计算机研究与发展,2013,50(1):146169.
[2]张引.大数据应用现状与展望[J].计算机研究与发展,2013,50(S2):216233.
[3]IBM.积极推进“大数据”时代革新[J].硅谷,2011(22):116117.
[4]于翔.HP Vertica 6.1快速连接Hadoop[N].网络世界报,20130204(034).
[5]王强.大数据分析平台建设与应用综述[J].集成技术,2016,5(2):218.
[6]黄素萍.Hadoop平台在大数据处理中的应用研究[J].现代计算机,2013(29):1215.
[7]任仁.Hadoop在大数据处理中的应用优势分析[J].电子技术与软件工程,2014(15):194195.
[8]戴中华.基于Hadoop平台的大数据分析与处理[J].通讯世界,2015(6):5960.
[9]张臻.大数据处理平台分析[J].电信,2014(6):79.
[10]张岩峰.云环境下大数据迭代计算研究[D].沈阳:东北大学,2012.
[11]何海林.大数据处理平台比较与分析[J].微型机与应用,2015,34(11):717.(责任编辑:杜能钢)
随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/17 8:37:26