1.采集
大数据的采集是指利用多个数据库来接受发自客户端,如网页、手机应用或者传感器等的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。如:电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除此之外,Red is和Mon go DB这样的NoSQL数据库也常用于数据的采集。
在大数据的采集过程中,其主要特点和挑战是并发数高,因为有可能会有成千上万的用户同时来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑。如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计。
2.导入,预处理
虽然采集端本身会有很多数据库,但是如果要对这些大数据进行有效的分析,还是应该将这些来自前段的数据导入一个集中的大型分布式数据库,或者分布式存储集群,并且在导入基础上做一些简单的清晰和预处理工作。也有一些用户会在导入时使用来自Twitter的Storm来对数据进行流式计算,来满足部分业务的实时计算需求。
导入与预处理过程的特点和挑战主要是导入的数据量大,每秒钟的导入量经常会达到百兆,甚至千兆级别。
3.统计、分析(www.daowen.com)
统计与分析主要利用分布式数据库,或者分布式计算集群来对存储于其内的海量数据进行常用的分析和分类汇总等,以满足一般性的分析需求。在这方面,一些实时性需求会用到美国易信安公司(EMC)的Green Plum、Oracle的Exadata以及基于My SQL的列式存储In fob right等,而一些批处理,或者基于半结构化数据的需求可以使用Hadoop。
统计与分析这部分的主要特点和挑战是分析设计的数据量大,其对系统资源,特别是输入及输出时会占用极大的内存空间。
4.挖掘
与前面统计和分析过程不同,数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上面进行基于各种算法的计算,而达到预期的效果,从而实现一些高级别数据分析的需求。比较典型的算法有用于聚类的K-means、用于统计学习的SVM和用于分类的Naive Ba yest等。该过程的特点和挑战主要是用于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很大,常用数据挖掘算法都以单线程为主。
整个大数据处理的一般流程至少应该包括这四个步骤,才能算得上比较完整。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。