企业大数据分析应用平台及其实现

2017-11-15 09:52李丹
商场现代化 2017年20期
关键词:大数据

李丹

摘 要:企业在大数据时代对数据分析有更高的要求。本文使用开源大数据生态系统,构建了一个能够满足企业对数据的分析要求且整体造价不高的系统平台。该平台涵盖从大数据采集、存储、分析和利用等全部过程。

关键词:大数据;开源软件;企业系统平台

一、引言

企业的信息系统,记录和保存着企业已经发生的业务信息。对这些数据进行分析,我们可以了解企业发生了什么,为什么会这样,并可以对未来进行预测,据此采取一些干预性措施,实现企业远期的战略目标。大数据时代,不仅需要对企业信息系统中的数据进行分析,还需要公开收集或购买一些相关领域的数据,进行更为全面的数据分析,才能把握住企业的未来发展方向。正因为数据分析对企业的商业发展举足轻重,因此大数据分析平台成为企业重点关注的基础设施。

本文基于开源软件,实现了一个企业大数据分析应用平台。

二、企业大数据分析应用平台的总体架构

基于开源软件的企业大数据分析应用平台,其总体架构如图所示,一共分四层:数据源层、数据存储层、大数据分析处理层和大数据应用层。

数据源层主要负责收集企业大数据分析所需要的基础数据。企业业务系统数据,从时间的角度,可以分为实时性要求不高的批处理数据和对实时性要求比较高的流式数据。在大数据时代,除了要分析企业本身的经营数据,还需要对与本企业所属行业和相关行业的公开数据进行分析。因而在这一层需要通过网络爬虫,在互联网上公开收集的数据。有时候无法通过互联网公开获取本行业及相关行业的数据,还需要购买一些专业的数据,来满足企业在数据方面的需要。

数据存储层对来自不同数据源的数据,进行安全可靠地存储。在本层,我们基于数据湖的概念进行设计实现。传统上的数据存储是基于写模式的,也就是说,在存储数据的时候,只存储预定模式的数据,不满足模式的数据在存储时被丢弃,无法完全存储能够采集到的全部数据。数据湖存储技术是基于读模式的,在存储数据时,所有原始采集获得的数据,原封不动地保存在存储系统中,当需要对这些数据进行分析时,才会根据分析的需要,从数据湖中抽取所需要的数据。数据湖存储技术相对于传统存储技术,好处显而易见。基本上,采用数据湖存储技术,没有原始数据的丢弃,可以满足企业数据分析在未来的各种需要。采用数据湖技术实现企业的大数据存储,要求系统的存储是可以横向扩展的,当采集到的数据增加时,可以在系统中添加更多的存储计算机来满足要求,从成本上让企业可以负担得起,而不需要像昂贵的垂直扩展技术那样,更换整个存储系统来满足数据存储的要求。

在大数据分析处理层,我们采用SQL技术来对数据湖中的数据进行交互式大数据分析;对实时性要求高的分析,采用流式数据分析技术。根据需要可以使用现成的数据挖掘和机器学习算法库,来对企业保存在数据湖中的数据进行分析。

大数据应用层是企业大数据的价值体现。在这一层,企业可以获得各种经营所需要的报表以及各种决策支持建议。采用数据可视化技术,可以更为直观地让企业人员使用大数据分析的结论,实现企业的经营目标。

三、企业大数据分析应用平台的开源技术实现

1.数据存储层的实现

基于数据湖概念的大数据存储层的技术实现,可以采用开源大数据生态系统Hadoop来构建存储集群。Hadoop集群系统采用普通的PC服务器来集成,因此具有成本低廉的特点,企业在经济上完全可以负担得起。Hadoop集群从设计之初就考虑了集群中单台服务器容易发生故障的问题,也就是说,在Hadoop集群中发生服务器故障是家常便饭,Hadoop集群具有高可用性的特点,可以满足企业的生产要求。

在数据存储层,我们主要使用Hadoop文件系统HDFS和Hadoop数据库Hbase这两个组件来实现。

HDFS是以Google公司的GFS为原型设计出来的一个开源分布式文件系统。HDFS文件系统的块大小可以是64MB,128MB或者256MB,因此特别适合用来存储大数据文件,不适合用来存储小文件。对HDFS上的文件主要是顺序读,不支持随机读写,虽然可以支持在文件的尾部进行追加写。

由于HDFS文件系统不是完整意义上的POSIX文件系统,不支持文件的随机读写。因此在数据存储层的实现上,还采用HBase来弥补这方面的缺陷。虽然HBase也是存储在HDFS之上,但是因为采用了日志结构合并树(Log Structure Merge-tree),因而HBase支持对数据按行键随机读写。

来自数据源层的实时数据,通过开源Kafka系统存储在企业数据湖之中,并由大数据分析层进行实时分析。对于批处理用到的数据,可以使用开源ETL工具Sqoop或者Kettle,将数据从业务系统抽取到数据湖中。爬虫系统,可以采用开源的爬虫引擎Nutch和搜索引擎ElasticSearch,将从互联网上爬到的相关数据保存在数据湖中。购买的数据可以直接保存在数据湖中。

2.大数据分析处理层的实现

大数据分析层采用开源Spark数据分析平台来实现。SQL是一种广泛应用的交互式数据分析技术,对企业来说,能以较低的人力成本雇佣到掌握SQL语言的工作人员。很容易使用Spark SQL技术来对数据湖中的企业数据,进行交互式数据分析。企业的实时数据分析需求,对时间并沒有太严格的限制,采用Spark Streaming技术来实现,完全能够胜任。

Spark是一个统一的数据分析平台,可以在Spark Streaming和SparkSQL分析中调用Spark Mlib进行数据挖掘和机器学习。

四、结束语

基于开源软件Hadoop/Spark实现的企业大数据分析应用平台,从技术上说基本是成熟的。这已经从其在企业中被广泛运用所证实。如果企业已经组建的自己的私有云硬件平台,那么前期的开发实验平台的硬件成本,基本可以忽略不计。后期数据分析应用平台投入生产,其硬件方面的投资也不会太高。采用本文提出的大数据分析应用平台方案,其成本构成主要是人力资源方面的投入。对于企业来说,最大的挑战在于需要一些懂业务的领域专家和数据分析工程师合作,充分发掘和实现大数据对企业的价值。

参考文献:

[1]Tomwhite著;王海,华东,刘喻,吕粤海译.Hadoop权威指南第四版. 北京:清华大学出版社,2017.

[2]Alex Liu著;闫龙川,高德荃,李君婷译.Apache Spark机器学习. 北京:机械工业出版社,2017.

[3]Venkat Ankam著;吴今朝译.Spark与Hadoop大数据分析. 北京:机械工业出版社,2017.

[4]Mohammed Guller著;赵斌,马景,陈冠诚译.Spark大数据分析. 北京:机械工业出版社,2017.

[5]Mahmoud parsian著;苏金国,杨健康译.数据算法Hadoop/Spark大数据处理技巧.北京:中国电力出版社,2017.endprint

猜你喜欢
大数据
基于在线教育的大数据研究
“互联网+”农产品物流业的大数据策略研究
大数据时代新闻的新变化探究
浅谈大数据在出版业的应用
“互联网+”对传统图书出版的影响和推动作用
大数据环境下基于移动客户端的传统媒体转型思路
基于大数据背景下的智慧城市建设研究
数据+舆情:南方报业创新转型提高服务能力的探索