⼤数据分析与处理的五个⽅⾯和⽅法
从所周知,⼤数据已经不简简单单是数据⼤的事实了,⽽最重要的现实是对⼤数据进⾏分析,只有通过分析才能获取很多智能的,深⼊的,有价值的信息。那么越来越多的应⽤涉及到⼤数据,⽽这些⼤数据的属性,包括数量,速度,多样性等等都是呈现了⼤数据不断增长的复杂性,所以⼤数据的分析⽅法在⼤数据领域就显得尤为重要,可以说是决定最终信息是否有价值的决定性因素。基于如此的认识,⼤数据分析普遍存在的⽅法理论有哪些呢?
⼀、⼤数据分析的五个基本⽅⾯
1. Analytic Visualizations(可视化分析)
不管是对数据分析专家还是普通⽤户,数据可视化是数据分析⼯具最基本的要求。可视化可以直观的展⽰数据,让数据⾃⼰说话,让观众听到结果。
2. Data Mining Algorithms(数据挖掘算法)
可视化是给⼈看的,数据挖掘就是给机器看的。集、分割、孤⽴点分析还有其他的算法让我们深⼊数据内部,挖掘价值。这些算法不仅要处理⼤数据的量,也要处理⼤数据的速度。
3. Predictive Analytic Capabilities(预测性分析能⼒)
数据挖掘可以让分析员更好的理解数据,⽽预测性分析可以让分析员根据可视化分析和数据挖掘的结果做出⼀些预测性的判断。
4. Semantic Engines(语义引擎)
我们知道由于⾮结构化数据的多样性带来了数据分析的新的挑战,我们需要⼀系列的⼯具去解析,提取,分析数据。语义引擎需要被设计成能够从“⽂档”中智能提取信息。
5. Data Quality and Master Data Management(数据质量和数据管理)
redis是nosql数据库吗数据质量和数据管理是⼀些管理⽅⾯的最佳实践。通过标准化的流程和⼯具对数据进⾏处理可以保证⼀个预先定义好的⾼质量的分析结果。
假如⼤数据真的是下⼀个重要的技术⾰新的话,我们最好把精⼒关注在⼤数据能给我们带来的好处,⽽不仅仅是挑战。
⼆、⼤数据处理
周涛博⼠说:⼤数据处理数据时代理念的三⼤转变:要全体不要抽样,要效率不要绝对精确,要相关不要因果。具体的⼤数据处理⽅法其实有很多,但是根据长时间的实践,笔者总结了⼀个基本的⼤数据处理流程,并且这个流程应该能够对⼤家理顺⼤数据的处理有所帮助。整个处理流程可以概括为四步,分别是采集、导⼊和预处理、统计和分析,以及挖掘。
采集
⼤数据的采集是指利⽤多个数据库来接收发⾃客户端(Web、App或者传感器形式等)的数据,并且⽤户可以通过这些数据库来进⾏简单的查询和处理⼯作。⽐如,电商会使⽤传统的关系型数据库MySQL和Oracle等来存储每⼀笔事务数据,除此之外,Redis和MongoDB这样的NoSQL 数据库也常⽤于数据的采集。
在⼤数据的采集过程中,其主要特点和挑战是并发数⾼,因为同时有可能会有成千上万的⽤户来进⾏访问和操作,⽐如⽕车票售票⽹站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署⼤量数据库才能⽀撑。并且如何在这些数据库之间进⾏负载均衡和分⽚的确是需要深⼊的思考和设计。
导⼊/预处理
虽然采集端本⾝会有很多数据库,但是如果要对这些海量数据进⾏有效的分析,还是应该将这些来⾃前端的数据导⼊到⼀个集中的⼤型分布式数据库,或者分布式存储集,并且可以在导⼊基础上做⼀些简单的清洗和预处理⼯作。也有⼀些⽤户会在导⼊时使⽤来⾃Twitter的Storm来对数据进⾏流式计算,来满⾜部分业务的实时计算需求。导⼊与预处理过程的特点和挑战主要是导⼊的数据量⼤,每秒钟的导⼊量经常会达到百兆,甚⾄千兆级别。
统计/分析
统计与分析主要利⽤分布式数据库,或者分布式计算集来对存储于其内的海量数据进⾏普通的分析和分类汇总等,以满⾜⼤多数常见的分析需求,在这⽅⾯,⼀些实时性需求会⽤到EMC 的GreenPlum、Oracle的Exadata,以及基于MySQL的列式存储Infobright等,⽽⼀些批处理,或者基于半结构化数据的需求可以使⽤Hadoop。统计与分析这部分的主要特点和挑战是分析涉及的数据量⼤,其对系统资源,特别是I/O会有极⼤的占⽤。
挖掘
与前⾯统计和分析过程不同的是,数据挖掘⼀般没有什么预先设定好的主题,主要是在现有数据上⾯进⾏基于各种算法的计算,从⽽起到预测(Predict)的效果,从⽽实现⼀些⾼级别数据分析的需求。⽐较典型算法有⽤于聚类的K-Means、⽤于统计学习的SVM和⽤于分类的Naive Bayes,主要使⽤的
⼯具有Hadoop的Mahout等。该过程的特点和挑战主要是⽤于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很⼤,还有,常⽤数据挖掘算法都以单线程为主。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论