当前位置:主页 > 论文百科 > 农业期刊 >

大数据 ppt_大数据系统和分析技术综述50

发布时间:2016-12-15 12:29

  本文关键词:大数据系统和分析技术综述,由笔耕文化传播整理发布。


软件学报ISSN1000-9825,CODENR;JournalofSoftware,2014,2;?中国科学院软件研究所版权所有.Tel/Fax:;大数据系统和分析技术综述?;程学旗,靳小龙,王元卓,郭嘉丰,张铁赢,李国杰;(中国科学院计算技术研究所网络数据科学与技术重点;通讯作者:靳小龙,E-mail:jinxiaol;摘要:首先根据处理形式的不同,介绍

软件学报ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn

Journal of Software,2014,25(9):1889?1908 [doi: 10.13328/j.cnki.jos.004674]

?中国科学院软件研究所版权所有. Tel/Fax: +86-10-62562563

大数据系统和分析技术综述?

程学旗, 靳小龙, 王元卓, 郭嘉丰, 张铁赢, 李国杰

(中国科学院 计算技术研究所 网络数据科学与技术重点实验室,北京 100190)

通讯作者: 靳小龙, E-mail: jinxiaolong@ict.ac.cn

摘 要: 首先根据处理形式的不同,介绍了不同形式数据的特征和各自的典型应用场景以及相应的代表性处理系

统,总结了大数据处理系统的三大发展趋势;随后,对系统支撑下的大数据分析技术和应用(包括深度学习、知识计

算、社会计算与可视化等)进行了简要综述,总结了各种技术在大数据分析理解过程中的关键作用;最后梳理了大数

据处理和分析面临的数据复杂性、计算复杂性和系统复杂性挑战,并逐一提出了可能的应对之策.

关键词: 大数据;数据分析;深度学习;知识计算;社会计算;可视化

中图法分类号: TP301 中文引用格式: 程学旗,靳小龙,王元卓,郭嘉丰,张铁赢,李国杰.大数据系统和分析技术综述.软件学报,2014,25(9):1889?1908.

英文引用格式: Cheng XQ, Jin XL, Wang YZ, GUO JF, Zhang TY, Li GJ. Survey on big data system and analytic technology.

Ruan Jian Xue Bao/Journal of Software, 2014,25(9):1240?1252 (in Chinese). htm

Survey on Big Data System and Analytic Technology

CHENG Xue-Qi, JIN Xiao-Long, WANG Yuan-Zhuo, GUO Jia-Feng, ZHANG Tie-Ying, LI Guo-Jie

(Key Laboratory of Network Data Science and Technology, Institute of Computing Technology, The Chinese Academy of Sciences,

Beijing 100190, China)

Corresponding author: JIN Xiao-Long, E-mail: jinxiaolong@ict.ac.cn

Abstract: This paper first introduces the key features of big data in different processing modes and their typical application scenarios,

as well as corresponding representative processing systems. It then summarizes three development trends of big data processing systems.

Next, the paper gives a brief survey on system supported analytic technologies and applications (including deep learning, knowledge

computing, social computing, and visualization), and summarizes the key roles of individual technologies in big data analysis and

understanding. Finally, the paper lays out three grand challenges of big data processing and analysis, i.e., data complexity, computation

complexity, and system complexity. Potential ways for dealing with each complexity are also discussed.

Key words: dig data; data analysis; deep learning; knowledge computing; social computing; visualization

近几年,大数据迅速发展成为科技界和企业界甚至世界各国政府关注的热点.《Nature》和《Science》等相

继出版专刊专门探讨大数据带来的机遇和挑战.著名管理咨询公司麦肯锡称:“数据已经渗透到当今每一个行业

和业务职能领域,成为重要的生产因素.人们对于大数据的挖掘和运用,预示着新一波生产力增长和消费盈余浪

潮的到来”[1].美国政府认为大数据是“未来的新石油”,一个国家拥有数据的规模和运用数据的能力将成为综合

国力的重要组成部分,对数据的占有和控制将成为国家间和企业间新的争夺焦点.大数据已成为社会各界关注

的新焦点,“大数据时代”已然来临.

什么是大数据,迄今并没有公认的定义.从宏观世界角度来讲,大数据是融合物理世界(physical world)、信息

空间和人类社会(human society)三元世界的纽带,因为物理世界通过互联网、物联网等技术有了在信息空间

基金项目: 国家重点基础研究发展计划(973)(2014CB340401, 2012CB316303); 国家自然科学基金(61232010, 61100175,

61173008, 61202214); 北京市科技新星计划(Z121101002512063)

收稿时间: 2014-05-09; 定稿时间: 2014-07-01 ?

1890 Journal of Software 软件学报 Vol.25, No.9, September 2014

(cyberspace)中的大数据反映,而人类社会则借助人机界面、脑机界面、移动互联等手段在信息空间中产生自己的大数据映像[2,3].从信息产业角度来讲,大数据还是新一代信息技术产业的强劲推动力.所谓新一代信息技术产业本质上是构建在第三代平台上的信息产业,主要是指大数据、云计算、移动互联网(社交网络)等.IDC预测,到2020年第三代信息技术平台的市场规模将达到5.3万亿美元,而从2013年~2020年,IT产业90%的增长将由第三代信息技术平台驱动.从社会经济角度来讲,大数据是第二经济(second economy[4])的核心内涵和关键支撑.第二经济的概念是由美国经济学家Auther在2011年提出的.他指出由处理器、链接器、传感器、执行器以及运行在其上的经济活动形成了人们熟知的物理经济(第一经济)之外的第二经济(不是虚拟经济).第二经济的本质是为第一经济附着一个“神经层”,使国民经济活动能够变得智能化,这是100年前电气化以来最大的变化. Auther还估算了第二经济的规模,他认为到2030年,第二经济的规模将逼近第一经济.而第二经济的主要支撑是大数据,因为大数据是永不枯竭并不断丰富的资源产业.借助于大数据,未来第二经济下的竞争将不再是劳动生产率而是知识生产率的竞争.

相较于传统的数据,人们将大数据的特征总结为5个V,即体量大(volume)、速度快(velocity)、模态多(variety)、难辨识(veracity)和价值大密度低(value).但大数据的主要难点并不在于数据量大,因为通过对计算机系统的扩展可以在一定程度上缓解数据量大带来的挑战.其实,大数据真正难以对付的挑战来自于数据类型多样(variety)、要求及时响应(velocity)和数据的不确定性(veracity).因为数据类型多样使得一个应用往往既要处理结构化数据,同时还要处理文本、视频、语音等非结构化数据,这对现有数据库系统来说难以应付;在快速响应方面,在许多应用中时间就是利益.在不确定性方面,数据真伪难辨是大数据应用的最大挑战.追求高数据质量是对大数据的一项重要要求,最好的数据清理方法也难以消除某些数据固有的不可预测性.

为了应对大数据带来的上述困难和挑战,以Google,Facebook,Linkedin,Microsoft等为代表的互联网企业近几年推出了各种不同类型的大数据处理系统.借助于新型的处理系统,深度学习、知识计算、可视化等大数据分析技术也得已迅速发展,已逐渐被广泛应用于不同的行业和领域.本文从系统支撑下的大数据分析角度入手,介绍了不同的大数据处理模式与代表性的处理系统,并对深度学习、知识计算等重要的大数据分析技术进行综述,最后指出大数据处理和分析所面临的3个核心挑战,并提出可能的解决思路.

1 大数据处理与系统

大数据中蕴含的宝贵价值成为人们存储和处理大数据的驱动力.Mayer-Sch?nberger在《大数据时代》一书中指出了大数据时代处理数据理念的三大转变,即要全体不要抽样,要效率不要绝对精确,要相关不要因果[5].因此,海量数据的处理对于当前存在的技术来说是一种极大的挑战.目前,人们对大数据的处理形式主要是对静态数据的批量处理,对在线数据的实时处理[6],以及对图数据的综合处理.其中,在线数据的实时处理又包括对流式数据的处理和实时交互计算两种.本节将详细阐述上述4种数据形式的特征和各自的典型应用以及相应的代表性系统.

1.1 批量数据处理系统

利用批量数据挖掘合适的模式,得出具体的含义,制定明智的决策,最终做出有效的应对措施实现业务目标是大数据批处理的首要任务.大数据的批量处理系统适用于先存储后计算,实时性要求不高,同时数据的准确性和全面性更为重要的场景.

1.1.1 批量数据的特征与典型应用

(1) 批量数据的特征

批量数据通常具有3个特征.第一,数据体量巨大.数据从TB级别跃升到PB级别.数据是以静态的形式存储在硬盘中,很少进行更新,存储时间长,可以重复利用,然而这样大批量的数据不容易对其进行移动和备份.第二,数据精确度高.批量数据往往是从应用中沉淀下来的数据,因此精度相对较高,是企业资产的一部分宝贵财富.第三,数据价值密度低.以视频批量数据为例,在连续不断的监控过程中,可能有用的数据仅仅有一两秒.因此,需要通过合理的算法才能从批量的数据中抽取有用的价值.此外,批量数据处理往往比较耗时,而且不提供用户

程学旗 等:大数据系统和分析技术综述 1891

与系统的交互手段,所以当发现处理结果和预期或与以往的结果有很大差别时,会浪费很多时间.因此,批量数据处理适合大型的相对比较成熟的作业.

(2) 典型应用

物联网、云计算、互联网以及车联网等无一不是大数据的重要来源,当前批量数据处理可以解决前述领域的诸多决策问题并发现新的洞察.因此,批量数据处理可以适用于较多的应用场景.本节主要选择互联网领域的应用、安全领域的应用以及公共服务领域的应用这3个典型应用场景加以介绍[7?12].在互联网领域中,批量数据处理的典型应用场景主要包括:(a) 社交网络:Facebook、新浪微博、微信等以人为核心的社交网络产生了大量的文本、图片、音视频等不同形式的数据.对这些数据的批量处理可以对社交网络进行分析,发现人与人之间隐含的关系或者他们中存在的社区,推荐朋友或者相关的主题,提升用户的体验.(b) 电子商务:电子商务中产生大量的购买历史记录、商品评论、商品网页的访问次数和驻留时间等数据,通过批量分析这些数据,每个商铺可以精准地选择其热卖商品,从而提升商品销量;这些数据还能够分析出用户的消费行为,为客户推荐相关商品,以提升优质客户数量.(c) 搜索引擎:Google等大型互联网搜索引擎与Yahoo!的专门广告分析系统,通过对广告相关数据的批量处理用来改善广告的投放效果以提高用户的点击量.在安全领域中,批量数据主要用于欺诈检测和IT安全.在金融服务机构和情报机构中,欺诈检测一直都是关注的重点.通过对批量数据的处理,可对客户交易和现货异常进行判断,从而对可能存在欺诈行为提前预警.另一方面,企业通过处理机器产生的数据,识别恶意软件和网络攻击模式,从而使其他安全产品判断是否接受来自这些来源的通信.在公共服务领域,批量数据处理的典型应用场景主要包括:(a) 能源:例如,对来自海洋深处地震时产生的数据进行批量的排序和整理,可能发现海底石油的储量;通过对用户能源数据、气象与人口方面的公共及私人数据、历史信息、地理数据等的批量处理,可以提升电力服务,尽量为用户节省在资源方面的投入.(b) 医疗保健:通过对患者以往的生活方式与医疗记录进行批量处理分析,提供语义分析服务,对病人的健康提供医生、护士及其他相关人士的回答,并协助医生更好的为患者进行诊断.当然,大数据的批量处理不只应用到这些领域,还有移动数据分析、图像处理以及基础设施管理等领域.随着人们对数据中蕴含价值的认识,会有更多的领域通过对数据的批量处理挖掘其中的价值来支持决策和发现新的洞察.

1.1.2 代表性的处理系统

由Google公司2003年研发的Google文件系统GFS[13]和2004年研发的MapReduce编程模型[14]以其Web环境下批量处理大规模海量数据的特有魅力,在学术界和工业界引起了很大反响.虽然Google没有开源这两项技术的源码,但是基于这两篇开源文档,2006年Nutch项目子项目之一的Hadoop实现了两个强有力的开源产 品[15]:HDFS和MapReduce.Hadoop成为了典型的大数据批量处理架构,由HDFS负责静态数据的存储,并通过MapReduce将计算逻辑分配到各数据节点进行数据计算和价值发现.Hadoop顺应了现代主流IT公司的一致需求,之后以HDFS和MapReduce为基础建立了很多项目,形成了Hadoop生态圈.

MapReduce 编程模型之所以受到欢迎并迅速得到应用,在技术上主要有3方面的原因[16,17].首先, MapReduce采用无共享大规模集群系统.集群系统具有良好的性价比和可伸缩性,这一优势为MapReduce成为大规模海量数据平台的首选创造了条件.其次,MapReduce模型简单、易于理解、易于使用.它不仅用于处理大规模数据,而且能将很多繁琐的细节隐藏起来(比如,自动并行化、负载均衡和灾备管理等),极大地简化了程序员的开发工作.而且,大量数据处理问题,包括很多机器学习和数据挖掘算法,都可以使用MapReduce实现.第三,虽然基本的MapReduce模型只提供一个过程性的编程接口,但在海量数据环境、需要保证可伸缩性的前提下,通过使用合适的查询优化和索引技术,MapReduce仍能够提供很好的数据处理性能.

1.2 流式数据处理系统

Google于2010年推出了Dremel,引领业界向实时数据处理迈进.实时数据处理是针对批量数据处理的性能问题提出的,可分为流式数据处理和交互式数据处理两种模式.在大数据背景下,流式数据处理源于服务器日志的实时采集,交互式数据处理的目标是将PB级数据的处理时间缩短到秒级.

1892

1.2.1 流式数据的特征及典型应用

(1) 流式数据的特征 Journal of Software 软件学报 Vol.25, No.9, September 2014

通俗而言,流式数据是一个无穷的数据序列,序列中的每一个元素来源各异,格式复杂,序列往往包含时序特性,或者有其他的有序标签(如IP报文中的序号).从数据库的角度而言,每一个元素可以看作是一个元组,而元素的特性则类比于元组的属性.流式数据在不同的场景下往往体现出不同的特征,如流速大小、元素特性数量、数据格式等,但大部分流式数据都含有共同的特征,这些特征便可用来设计通用的流式数据处理系统.下面简要介绍流式数据共有的特征[18].

首先,流式数据的元组通常带有时间标签或其余含序属性.因此,同一流式数据往往是被按序处理的.然而数据的到达顺序是不可预知的,由于时间和环境的动态变化,无法保证重放数据流与之前数据流中数据元素顺序的一致性.这就导致了数据的物理顺序与逻辑顺序不一致.而且,数据源不受接收系统的控制,数据的产生是实时的、不可预知的.此外,数据的流速往往有较大的波动,因此需要系统具有很好的可伸缩性,能够动态适应不确定流入的数据流,具有很强的系统计算能力和大数据流量动态匹配的能力.其次,数据流中的数据格式可以是结构化的、半结构化的甚至是无结构化的.数据流中往往含有错误元素、垃圾信息等.因此流式数据的处理系统要有很好的容错性与异构数据分析能力,能够完成数据的动态清洗、格式处理等.最后,流式数据是活动的(用完即弃),随着时间的推移不断增长,这与传统的数据处理模型(存储→查询)不同,要求系统能够根据局部数据进行计算,保存数据流的动态属性.流式处理系统针对该特性,应当提供流式查询接口,即提交动态的SQL语句,实时地返回当前结果.

(2) 典型应用

流式计算的应用场景较多,典型的有两类[6]:(a) 数据采集应用:数据采集应用通过主动获取海量的实时数据,及时地挖掘出有价值的信息.当前数据采集应用有日志采集、传感器采集、Web数据采集等.日志采集系统是针对各类平台不断产生的大量日志信息量身订做的处理系统,通过流式挖掘日志信息,达到动态提醒与预警功能.传感器采集系统(物联网)通过采集传感器的信息(通常包含时间、位置、环境和行为等内容),实时分析提供动态的信息展示,目前主要应用于智能交通、环境监控、灾难预警等.Web数据采集系统是利用网络爬虫程序抓取万维网上的内容,通过清洗、归类、分析并挖掘其数据价值.(b) 金融银行业的应用:在金融银行领域的日常运营过程中会产生大量数据,这些数据的时效性往往较短,不仅有结构化数据,也会有半结构化和非结构化数据.通过对这些大数据的流式计算,发现隐含于其中的内在特征,可帮助金融银行进行实时决策.这与传统的商业智能(BI)分析不同,BI要求数据是静态的,通过数据挖掘技术,获得数据的价值.然而在瞬息万变的场景下,诸如股票期货市场,数据挖掘技术不能及时地响应需求,就需要借助流式数据处理的帮助.

总之,流式数据的特点是,数据连续不断、来源众多、格式复杂、物理顺序不一、数据的价值密度低.而对应的处理工具则需具备高性能、实时、可扩展等特性.

1.2.2 代表性的处理系统

流式数据处理已经在业界得到广泛的应用,典型的有Twitter的Storm,Facebook的Scribe,Linkedin的Samza,Cloudera的Flume,Apache的Nutch.

? Twitter的Storm系统

Storm[19]是一套分布式、可靠、可容错的用于处理流式数据的系统.其流式处理作业被分发至不同类型的组件,每个组件负责一项简单的、特定的处理任务.Storm集群的输入流由名为Spout的组件负责.Spout将数据传递给名为Bolt的组件,后者将以指定的方式处理这些数据,如持久化或者处理并转发给另外的Bolt.Storm集群可以看成一条由Bolt组件组成的链(称为一个Topology).每个Bolt对Spout产生出来的数据做某种方式的 处理.

Storm可用来实时处理新数据和更新数据库,兼具容错性和扩展性.Storm也可被用于连续计算,对数据流做连续查询,在计算时将结果以流的形式输出给用户.它还可被用于分布式RPC,以并行的方式运行复杂运算.一个Storm集群分为3类节点:(a) Nimbus节点,负责提交任务,分发执行代码,为每个工作结点指派任务和监控失

程学旗 等:大数据系统和分析技术综述 1893

败的任务;(b) Zookeeper节点,负责Storm集群的协同操作;(c) Supervisor节点,负责启动多个Worker进程,执行 Topology的一部分,这个过程是通过Zookeeper节点与Nimbus节点通信完成的.因为Storm将所有的集群状态在保存在Zookeeper或者本地磁盘上,Supervisor节点是无状态的,因此其失败或者重启不会引起全局的重新 计算.

Storm的主要特点是:(a) 简单的编程模型:Storm提供类似于MapReduce的操作,降低了并行批处理与实时处理的复杂性.一个Storm作业只需实现一个Topology及其所包含的Spout与Bolt.通过指定它们的连接方式,Topology可以胜任大多数的流式作业需求;(b) 容错性:Storm利用Zookeeper管理工作进程和节点的故障.在工作过程中,如果出现异常,Topology会失败.但Storm将以一致的状态重新启动处理,这样它可以正确地恢复;(c) 水平扩展:Storm拥有良好的水平扩展能力,其流式计算过程是在多个线程、进程和服务器之间并行进行的.Nimbus节点将大量的协同工作都交由Zookeeper节点负责,使得水平扩展不会产生瓶颈;(d) 快速可靠的消息处理:Storm利用ZeroMQ作为消息队列,极大提高了消息传递的速度,系统的设计也保证了消息能得到快速处理.Storm保证每个消息至少能得到一次完整处理.任务失败时,它会负责从消息源重试消息.

? Linkedin的Samza系统

Linkedin早期开发了一款名叫Kafka[20,21]的消息队列,广受业界的好评,许多流式数据处理系统都使用了Kafka作为底层的消息处理模块.Kafka的工作过程简要分为4个步骤,即生产者将消息发往中介(broker),消息被抽象为Key-Value对,Broker将消息按Topic划分,消费者向Broker拉取感兴趣的Topic.2013年,Linkedin基于Kafka和YARN开发了自己的流式处理框架——Samza.Samza与Kafka的关系可以类比MapReduce与HDFS的关系.Samza系统由3个层次组成,包括流式数据层(Kafka)、执行层(YARN)、处理层(Samza API).一个Samza任务的输入与输出均是流.Samza系统对流的模型有很严格的定义,它并不只是一个消息交换的机制.流在Samza的系统中是一系列划分了的、可重现的、可多播的、无状态的消息序列,每一个划分都是有序的.流不仅是Samza系统的输入与输出,它还充当系统中的缓冲区,能够隔离相互之间的处理过程.Samza利用YARN与Kafka提供了分步处理与划分流的框架.Samza客户端向Yarn的资源管理器提交流作业,生成多个Task Runner进程,这些进程执行用户编写的StreamTasks代码.该系统的输入与输出来自于Kafka的Broker进程.

Samza的主要特性有:(a) 高容错:如果服务器或者处理器出现故障,Samza将与YARN一起重新启动流处理器.(b) 高可靠性:Samza使用Kafka来保证所有消息都会按照写入分区的顺序进行处理,绝对不会丢失任何消息.(c) 可扩展性:Samza在各个等级进行分割和分布;Kafka提供一个有序、可分割、可重部署、高容错的系统;YARN提供了一个分布式环境供Samza容器运行.

1.3 交互式数据处理

1.3.1 交互式数据处理的特征与典型应用

(1) 交互式数据处理的特征

与非交互式数据处理相比,交互式数据处理灵活、直观、便于控制.系统与操作人员以人机对话的方式一问一答——操作人员提出请求,数据以对话的方式输入,系统便提供相应的数据或提示信息,引导操作人员逐步完成所需的操作,直至获得最后处理结果.采用这种方式,存储在系统中的数据文件能够被及时处理修改,同时处理结果可以立刻被使用.交互式数据处理具备的这些特征能够保证输入的信息得到及时处理,使交互方式继续进行下去.

(2) 典型应用

在大数据环境下,数据量的急剧膨胀是交互式数据处理系统面临的首要问题.下面主要选择信息处理系统领域和互联网领域做为典型应用场景进行介绍.(a) 在信息处理系统领域中,主要体现了人机间的交互.传统的交互式数据处理系统主要以关系型数据库管理系统(DBMS)为主,面向两类应用,即联机事务处理(OLTP)和联机分析处理(OLAP).OLTP基于关系型数据库管理系统,广泛用于政府、医疗以及对操作序列有严格要求的工业控制领域;OLAP基于数据仓库系统(data warehouse)广泛用于数据分析、商业智能(BI)等.最具代表性的处理是数据钻取,如在BI中,可以对于数据进行切片和多粒度的聚合,从而通过多维分析技术实现数据的钻取.目前,基

 

 

下载地址:大数据系统和分析技术综述50.Doc

  【】

最新搜索

大数据系统和分析技术综述

利基家族与人类起源探索(二)答案

《中国龙》教学设计与反思37

72第一篇 第六章 体温控制

请从政治学的角度谈谈如何反腐?

挂灯笼数量有讲究吗

贵州土壤的耕作条件具有以下特点

35封山育林分析报告

食品安全自律工作提示

浅析体育课如何翻转课堂39


  本文关键词:大数据系统和分析技术综述,由笔耕文化传播整理发布。



本文编号:213747

资料下载
论文发表

本文链接:https://www.wllwen.com/wenshubaike/xxkj/213747.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户8a773***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com