高聪 熊杰 刘彩云
摘要:该文主要介绍了大数据分析的关键技术,以及大数据分析在行业中的应用,以期对有关人员提供参考。
关键词:大数据;分布式;机器学习;可视化
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2020)05-0005-02
开放科学(资源服务)标识码(OSID):
近年来,大数据迅速发展已经引起了政府、学术界和企业的高度重视,成了全世界都关注的热点技术。大数据时代推动了各行各业的快速发展,在快速发展的过程中会形成海量的数据,想要获取数据的价值,就要对数据进行分析与计算。每当我们在日常生活中做出任何决定,都是通过思考上次发生了什么或者将要发生什么来做出决定,这只不过是分析我们的过去或未来,并以此为基础做出决定。大数据分析技术就是通过对各行各业收集的数据、存储的数据,根据其行业的特性采用合适的方法进行科学的分析来做出决策。
大数据分析被定义为一个清理、转换和建模数据的过程,以发现对业务决策有用的信息。数据分析的目的是从数据中提取有用的信息,并在数据分析的基础上做出决策。与传统数据相比大数据具有五个特征简称5V,即volume(数据量大).ve-locity(快速响应)、variety(种类多样)、veracity(不易识别)、value(高价值低密度)[1]。这些特征也是大数据分析的挑战,为了应对这些挑战,各大互联网企业相继推出了各种不同类型的大数据处理系统,在大数据行业发展的过程中,各种大数据分析技术也得以迅速发展。本文将简单介绍一下有代表性的大数据处理系统以及分析技术及其在行业中的应用。
1 大数据处理系统
在这个数据爆炸的时代,产生的数据量在不断地攀升,想要对海量的数据进行分析,首先要考虑的就是海量数据的存储问题,受限于数据的读写速度,传统的数据处理平台很难处理各种类型的大型数据集,为了满足人们的需要,分布式处理系统成了对一定量级的数据进行分析的必要条件。本节将介绍一下几种常见的分布式处理系统。
1.1 Hadoop
Hadoop是一个开源的并行批量数据处理框架与分布式文件系统,其核心架构是分布式文件系统Hadoop Distributed FileSystem(HDFS)和大规模并行计算框架MapReduce,HDFS用来存储数据,MapReduce负责在各个数据节点上进行计算。HDFS是一个分布式的,高扩展的,可移植的文件系统,通常被用来在多台机器上存储GB到TB级甚至PB级的海量数据,并通过在多台机器上冗余备份数据来保证其可靠性,它所具有的高容错性、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集的应用处理带来了很多便利。HDFS的具体特点如下:(1)存储文件量级大:HDFS适合存储TB级别以上的文件,但是并不适合小文件的存储;(2)分块存储文件:HDFS通过将完整的文件分块存储到不同的计算机里面来提升文件读取的效率;(3)流式数据访问:HDFS支持流式数据访问,但是在和MapReduce结合时,采用的是批处理的方式;(4)布置成本低廉:HDFS可以布置在普通的计算机上,这种方式可以通过几十台廉价的PC机搭建一个大数据集群;(5)容错性:HDFS具有很好的容错性,它通过将一台主机上的文件块副本分配到其他的主机上,倘若某台主机失效可以在其他的主机上通过文件块副本迅速取回文件。
MapReduce是一种面向大规模数据的并行批处理计算模型和方法,普遍應用于大规模数据的并行计算。MapReduce具有如下特点:(1)实现简单:通过实现一些简单的接口,就可以完成分布式计算程序的布置。(2)扩展性良好:可通过增加机器的数量来让它的计算性能得到提升,随着计算机节点数目的增长其计算性能增长近似于线性;(3)容错性:与HDFS类似MapRe-duce具有较好的容错性,计算集群中的某一台机器出错了,它会自动将计算任务转移到其他的机器上面,保证计算正常进行。以上是MapReduce的优点,它也有一些明显的缺点。它并不支持实时计算,也不支持流式数据的处理,批处理的设计决定了其静态数据源的特点,所以也不支持流式数据的处理,并且MapReduce会将它每个作业的输出写到磁盘里面,在进行DGA计算时会出现很多的词频10导致计算性能低下。
1.2 Spark
Spark是一个基于内存计算的可扩展的开源集群计算系统,可以用于处理不同数据结构大规模数据的处理、计算任务。很多人拿它与Hadoop进行比较,实际上它并不提供数据存储的方案,仅仅是Hadoop中MapReduce组件的一种替代和改进。与MapReduce相比,它的性能有很大的优化,它将计算过程放入内存,不需要反复读写硬盘,算法运行速度快。更重要的是,它比MapReduce的操作更简单,支持的任务种类更多。计算机科学的发展是不断地将问题进行抽象,从而让人能够在更高的层次解决问题。Spark也是对分布式大数据处理的一种抽象,让工程师或者分析人员能够不必像写MapReduce 一样,太关注底层的实现逻辑,从而在处理层次上投入更多精力。Spark在技术层面兼容存储层,例如Hadoop中的HDFS这种分布式文件存储或者MongoDB、Cassandra这类数据库,Spark支持交互式计算和复杂算法。它还需要一个集群的管理器,比如YARN、Me-sos等用来管理相应的数据处理任务。当然Spark自己也提供集群管理功能,这样集群的每个节点都需要安装Spark,用于进行任务的编排。
1.3 Storm
Storm是一个优秀的分布式实时计算系统,是最佳的流式计算框架,支持全内存计算,Storm对于实时计算的意义类似于Hadoop对于批处理的意义。Storm有如下特点:(1)编程模型简单,降低了使用Storm开发业务的成本;(2)流式数据处理,Storm可以用来处理持续不断流人的数据,然后将处理之后的结果写入存储;(3)容错性,Storm具有很好的容错机制,出错时可通过自动重启以及任务重分配来保证计算正常进行;(4)多语言编程,Storm支持多种语言编程,通过实现Storm通信协议就可以支持其他的编程语言;(5)消息处理快速可靠,Storm消息传递以及处理的速度均非常快,并且保证每条消息都至少得到一次完整的处理[1]。
2 大数据分析技术
想要发掘出大数据中蕴含的价值,不仅需要各种大数据处理系统的支持,还需要对大数据的内容进行分析与计算。本节主要介绍机器学习、可视化技术在大数据分析中的作用。
2.1 机器学习
机器学习是发掘数据价值的关键技术,其通过大量的数据来训练它的算法模型,然后通过模型对数据进行分析处理。传统的机器学习的问题主要包括:(1)学习并模拟人类的学习过程;(2)计算机系统与人类用户之间的自然语言接口的研究;(3)对不完整的信息进行推理的能力;(4)构造可发现新事物的程序[2]。机器学习的核心是“通过选择科学的算法解析相关数据,然后学习,进而对相关业务做出决测”,也就是说与其明确地编写程序来完成特定任务,不如教计算机开发用于完成任务的算法。机械学习主要被分为如下几类:监督学习、无监督学习和强化学习:(a)监督学习就是人工给定大量有标记的数据让机器分析以期达到识别数据的目的,回归分析和统计分类是常见的监督学习算法;(b)无监督学习输入的数据没有标记,样本数据的类型并不确定,通过样本的相似性对样本集进行聚类,通过数据集发现其中的规律,实现分析识别的目的;(c)强化学习的本质是教会计算机自动进行决策,并且连续的做出决策,其理论框架是马科夫决策过程(MDP)。
2.2 可视化分析
对大数据进行分析最终的目的是发现数据中的规律,进而帮助做出决策,大量的数据不进行可视化处理往往难以理解,可视化分析技术可以将数据以一种容易理解的方式呈现出来,它对抽象信息进行处理通过计算机直观的表示,帮助用户快速地理解信息并发现其中的规律做出合理的判断。以下是数据可视化的几种类型:(1)文本可视化:文本可视化可以较为直观地展示出文本的优势以及特点;(2)网络可视化:对大数据进行分析的过程中网络关联是较为常见的一种关系,依据连接拓扑和网络节点之间的关系,将隐藏于网络中的关系直观的展示出来;(3)时空数据可视化,時空数据主要是指具备一定时间标签和地理位置的数据,大数据时代发展模式下,时空数据具备实时性和高维性,同时这也是数据可视化的重点;(4)多维数据可视化。多维数据可视化实际上就是说拥有很多个维度的数据变量,在数据仓库以及数据库中具有广泛的应用[3]。
3 大数据分析业务场景
3.1 推荐系统
推荐系统作为一种有效的信息过滤手段,是当前解决信息过载问题及实现个性化信息服务的有效方法之一[4]。目前,主流推荐系统可以分为4类:协同过滤推荐、基于内容的推荐、基于知识的推荐和组合推荐。
3.2 信用风险建模
风险管理大数据分析将个人的外部数据与公司内部的诈骗侦查算法相结合,能侦查出信用风险或非法使用顾客账户情况,快速处理相关信息。在信用风险建模中,可以根据实际需求采用多种不同的分析建模技术。
3.3 传感大数据分析
在制造类企业中,传感器、遥测器和条形码在生产过程中广泛应用。通过对这些遥测数据进行分析,能识别出有用的使用模式,从而提高生产效率[5]。例如:通过条形码,能跟踪生产过程和顾客订货,从中挖掘出相关信息。卫生保健公司通过对病人的一些关键指标进行监控和测量,能减少访问,提高病人健康水平。与外部社交数据不同,来自传感器的大数据公司可直接管理。
4 小结
大数据具有众多特性,导致传统的处理方式无法对其进行分析,本文主要介绍了几个有代表性大数据处理系统,介绍了机器学习、可视化分析等大数据分析技术,并对大数据在几个行业中的应用进行了简单的介绍。
参考文献:
[1]程学旗,靳小龙,王元卓,等,大数据系统和分析技术综述[J].软件学报,2014,25(9):1889-1908.
[2]何清,李宁,罗文娟,等,大数据下的机器学习算法综述[J].模式识别与人工智能,2014,27(4):327-336.
[3]路晶,大数据可视分析研究综述[J].科技展望,2015,25(16):20.
[4]沈荣,张保文.大数据分析和大数据处理技术研究综述[J].电脑知识与技术,2019,15(11):13-16.
[5]武永成.基于云计算的大数据处理与分析综述[J].软件导刊,2016,15(12):161-163.
【通联编辑:光文玲】
收稿日期:2019 -11-10
基金项目:本研究受湖北省教育厅科学技术项目(B2016034);湖北省教研项目(2017294);湖北省高校实验室工作研究会项目(HB-SY2017-04)联合资助
作者简介:高聪(1996-),男,湖北黄冈人,长江大学硕士研究生,主要研究方向为大数据、云计算、人工智能等;通讯作者:熊杰(1975—),男,博士、副教授、研究生导师,主要研究方向为人工智能、计算机应用等方面的教学和研究工作。