大数据的发展越来越贴近我们的生活,但是很多却依然不是很了解什么是大数据,大数据有什么作用。现在大数据不仅仅是网络资讯,技术论坛甚至新闻上都有它的身影。说明不仅仅是企业,连国家都在部署大数据战略,但是很多人却依然云里雾里不清楚这个到底是个啥?直到有一天发现,只要你无意中搜索过什么,那么网页、APP等都会跳出你搜索过得相关产品或者关联事物,淘宝推荐的商品也越来越符合你的心意.
其实大数据,就是算法!它可以“算”出你的“心意”。
那么问题来了,大数据技术是怎么样采集到信息的呢?
数据采集,又称数据获取,是通过一种设备,从系统外部采集到数据输入到系统内部的一种技术。
在如今互联网行业技术快速发展的今天,数据采集广泛应用于互联网及分布式领域,例如摄像头、麦克风等,都是数据采集的工具。数据采集系统还集合了信号、传感器、激励器、信号调理、数据采集设备和软件应用。
现在是一个数据大爆炸的互联网时代,数据类型同样也是复杂多样的,包括结构化数据、半结构化数据、非结构化数据。结构化最常见,就是具有模式的数据。非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,包括所有格式的办公文档、文本、图片、XML, HTML、各类报表、图像和音频/视频信息等等。
大数据采集是大数据分析至关重要的的一个环节,也是大数据分析的入口。
我们首先来了解一下数据采集的三大要点:
(1)全面性:数据量足够具有分析价值、数据面足够支撑分析需求。
比如对于“查看商品详情”这一行为,需要采集用户触发时的环境信息、会话、以及背后的用户id,最后需要统计这一行为在某一时段触发的人数、次数、人均次数、活跃比等。
(2)多维性:数据更重要的是能满足分析需求。
灵活、快速自定义数据的多种属性和不同类型,从而满足不同的分析目标。比如“查看商品详情”这一行为,通过埋点,我们才能知道用户查看的商品是什么、价格、类型、商品id等多个属性。从而知道用户看过哪些商品、什么类型的商品被查看的多、某一个商品被查看了多少次。而不仅仅是知道用户进入了商品详情页。
(3)高效性:高效性包含技术执行的高效性、团队内部成员协同的高效性以及数据分析需求和目标实现的高效性。
也就是说采集数据一定要明确采集目的,带着问题搜集信息,使信息采集更高效、更有针对性。
此外,还要考虑数据的及时性。不同应用领域的大数据其特点、数据量、用户群体均不相同,不同领域根据数据源的物理性质及数据分析的目标采取不同的数据采集方法。
下面我们来了解一下常用的数据采集方法:
1.传感器采集方法
传感器通常用于测量物理变量,一般包括声音、温湿度、距离、电流等,将测量值转化为数字信号,传送到数据采集点,让物体有了触觉、味觉和嗅觉等感官,让物体慢慢变得活了起来。
2.网络爬虫采集方法
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOFA社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。(百度百科)最常见的爬虫便是我们经常使用的搜索引擎,如百度,360搜索等。此类爬虫统称为通用型爬虫,对于所有的网页进行无条件采集。
3.系统日志采集方法
很多互联网企业都有自己的海量数据采集工具,多用于系统日志采集,如Hadoop的Chukwa,Cloudera的Flume,Facebook的Scribe等,这些工具均采用分布式架构,能满足每秒数百MB的日志数据采集和传输需求。
4.其他数据采集方法
对于企业生产经营数据或学科研究数据等保密性要求较高的数据,可以通过与企业或研究机构合作,使用特定系统接口等相关方式采集数据。
数据的采集是挖掘数据“石油”的第一步,当数据量越来越大时,可发掘的有价值的信息也就更多,反应信息也就越加全面。只有更加充分的利用数据化处理平台,便可以保证分析结果的有效性和准确性,只有这样才能更加有效的助力企业实现驱动的数据化。