数据规模急剧扩大超过了当前计算机存储与处理能力。不仅数据处理规模巨大,而且数据处理需求多样化。因此,数据处理能力成为核心竞争力。数据处理需要将多学科结合,需要研究新型数据处理的科学方法,以便在数据多样性和不确定性的前提下进行数据规律和统计特征的研究。ETL工具负责将分布的异构数据源中的数据,如关系数据、平面数据文件等抽取到临时中间层后进行清洗、集成、转换、约简,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
一般来说,数据处理的过程可以概括为五个步骤,分别是数据采集与记录,数据抽取、清洗与标记,数据集成、转换与约简,数据分析与建模,数据解释,如图1-2所示。
图1-2 大数据处理的全过程
1.数据采集与记录
数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。例如,电子商务系统使用传统的关系型数据库My SQL、SQL Server和Oracle等结构化数据库来存储每一笔事务数据,除此之外,Re dis和Mon go DB这样的No SQL,数据库也常用于数据的采集。在大数据的采集过程中,其主要特点是并发率高,因为同时可能将有成千上万的用户来进行访问和操作。例如,火车票售票网站和淘宝网站,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑,并且对这些数据库之间进行负载均衡和分片设计。常用的数据采集方法如下所述。
(1)系统日志采集方法
很多互联网企业都有自己的海量数据采集工具,多用于系统日志采集,如Hadoop的Chukwa、Cloudera的Flume、Facebook的Scribe等,这些工具均采用分布式架构,能满足每秒数百兆字节的日志数据采集和传输需求。
(2)网络数据采集方法
网络数据采集是指通过网络爬虫或网站公开API等方式从网站上获取数据信息。该方法可以将非结构化数据从网页中抽取出来,将其存储为统一的本地数据文件,并以结构化的方式存储。它支持图片、音频、视频等文件或附件的采集,附件与正文可以自动关联。
除了网络中包含的内容之外,对于网络流量的采集可以使用DPI或DFI等带宽管理技术进行处理。
(3)其他数据采集方法
对于企业生产经营数据或科学大数据等保密性要求较高的数据,可以通过与企业或研究机构合作,使用特定系统接口等相关方式采集数据。(www.daowen.com)
2.数据抽取、清洗与标记
采集端本身设有很多数据库,如果要对这些数据进行有效的分析,应该将这些来自前端的数据抽取到一个集中的大型分布式数据库,或者分布式存储集群,还可以在抽取基础上做一些简单的清洗和预处理工作。也有一些用户在抽取时使用来自Twitter的Storm对数据进行流式计算,来满足部分业务的实时计算需求。大数据抽取、清洗与标记过程的主要特点是抽取的数据量大,每秒钟的抽取数据量经常可达到百兆,甚至千兆数量级。
3.数据集成、转换与约简
数据集成技术的任务是将相互关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源。在这里,集成是指维护数据源整体上的数据一致性,提高信息共享利用的效率,透明方式是指用户不必关心如何对异构数据源进行访问,只关心用何种方式访问何种数据即可。
4.数据分析与建模
统计与分析主要利用分布式数据库,或者分布式计算集群来对存储于其内的大数据进行分析和分类汇总等,以满足大多数常见的分析需求。分析方法主要包括假设检验、显著性检验、差异分析、相关分析、T检验、方差分析、卡方分析、偏相关分析、距离分析、回归分析(简单回归分析、多元回归分析)、逐步回归、回归预测与残差分析、曲线估计、因子分析、聚类分析、主成分分析、判别分析、对应分析、多元对应分析(最优尺度分析)等。
在这些方面,一些实时性需求会用到EMC的Green Plum、Oracle的Exadata以及基于My SQL的列式存储In fob right等,而一些批处理,或者基于半结构化数据的需求可以使用Hadoop。统计与分析部分的主要特点是分析中涉及的数据量巨大,对系统资源,特别是I/O资源占用极大。
和统计与分析过程不同,数据挖掘一般没有预先设定好主题,主要是在现有数据上进行基于各种算法的计算,起到预测的效果,从而实现一些高级别数据分析的需求,主要进行分类、估计、预测、相关性分组或关联规则、聚类、描述和可视化、复杂数据类型挖掘等。比较典型的算法有K means聚算法、SVM统计学习算法和Naive Bayes分类算法,主要使用的工具有Hadoop的Mahout等。该过程的特点主要是用于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很大,常用数据挖掘算法都以单线程为主。
建模的主要内容是构建预测模型、机器学习模型和建模仿真等。
5.数据解释
数据解释的目的是使用户理解分析的结果,通常包括检查所提出的假设并对分析结果进行解释,采用可视化展现大数据分析结果。例如,利用云计算、标签云、关系图等呈现。
大数据处理的过程至少应该满足上述五个基本步骤,才能成为一个比较完整的大数据处理过程。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。