首先我们来看一下大数据里面的数据,可以分成三种类型:结构化的数据、非结构化的数据、半结构化的数据。
·结构化的数据:即有固定格式和有限长度的数据。例如填的表格就是结构化的数据,国籍:中华人民共和国;民族:汉;性别:男,这些都叫结构化数据。
·非结构化的数据:现在非结构化的数据越来越多,指那些不定长、无固定格式的数据。例如网页,有时候非常长,有时候几句话就没了;例如语音,视频都是非结构化的数据。
·半结构化数据:是一些XML或者HTML的格式。
其实数据本身不是有用的,必须要经过一定的处理。例如有些人每天跑步佩戴手环收集的是数据,互联网上的大量网页也是数据。数据本身没有什么用处,但数据里面包含一个很重要的东西,叫做信息(Information)。
数据十分杂乱,经过梳理和清洗,才能够称为信息。信息会包含很多规律,我们需要从信息中将规律总结出来,称为知识(Knowledge)。有了知识,然后利用这些知识去应用于实战,这称为智慧(Intelligence)。所以数据的应用如图7-4所示分为四个步骤:数据、信息、知识、智慧。
图7-4 数据的应用步骤
最终的阶段是企业通过大数据分析都想要得到的。企业收集了有关用户的大量数据,希望基于这些数据来支持决策的制定,改善企业的产品。例如让用户看视频的时候在旁边弹出广告,正好是用户想要购买的东西;再如让用户听音乐时,推荐一些他可能非常想听的其他音乐。
对数据转化为智慧的步骤进行分析,可以总结出一个基本的大数据处理流程,可以概括为四步,分别是采集、导入和预处理、统计和分析,以及挖掘。
1.采集
大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。(www.xing528.com)
在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑,并且如何在这些数据库之间进行负载均衡和分片是需要深入的思考和设计的。
2.导入/预处理
虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这些来自前端的数据导入一个集中的大型分布式数据库,或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理工作。
导入与预处理过程的特点和挑战主要是导入的数据量大,每秒钟的导入量经常会达到百兆,甚至千兆级别。
3.统计/分析
统计与分析主要利用分布式数据库或者分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总等,以满足大多数常见的分析需求。
统计与分析这部分的主要特点和挑战是分析涉及的数据量大,其对系统资源,特别是I/O会有极大的占用。
4.挖掘
与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上面进行基于各种算法的计算,从而起到预测(Predict)的效果,从而实现一些高级别数据分析的需求。
该过程的特点和挑战主要是用于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很大,还有,常用数据挖掘算法都以单线程为主。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。