如何获得大数据的途径(6种数据的收集方法)
4V定义很深,然而对于大部分做大数据的人而言,这个定义并没有什么卵用。一般语用中的大数据事实上是指分布式存储系统(distributed file
system)和基于此系统的数据生态环境。
在理解“大数据”之前,首先要回答为啥这个问题不能用抽样生成的小样本+概率统计来解决?
目前来看,有两种情况。第一,需要描述全局状态的,比如page rank 算法; 第二,需要做长尾的,抽样很可能方差太大,大概也就是做个性化推荐的。最近“大数据”的兴起,跟个性化算法的兴起有很大关系。没有个性化服务要求,就搜索那几家大佬折腾一下就完了。
其次要回答的问题是,为啥必须要用分布式文件系统?
简单的回答就是文件大。顺着慧航的杆爬一下,matlab不是不能做“大数据”分析,但是你上哪儿找内存能放下几个T数据的服务器?
但是要是内存不是问题呢?matlab可不可以做大数据分析呢?如果计算时间不是问题,那也是可以的。万一时间成问题怎么办?
2000年左右的Google面临一个问题,那就是page rank每天得算,单一服务器的运算能力又叫人着急,怎么办?
要抢时间,就要连几百台服务器,连上这么多服务器时,0.1%的故障率都会保证几乎每天都有服务器挂掉。所以不仅要并行,还要做文件备份。文件备份时,怎么确保进程读写不冲突,怎么确保鸡蛋不在一个篮子里放着(即文件本身和备份都在一个服务器上)?
于是就有了分布式文件系统。后来Yahoo的一个工程师团队把Yahoo的系统开源了,就有了Hadoop;facebook在此基础上做了类sql的hive;Twitter贡献了流处理的storm。这三家的业务共性是,要扫全量,及时性要求高,单机计算能力着急所以要大规模并行且保证稳定性。
世界上真正需要大数据的公司木有几家,世界上真正需要用大数据处理的问题木有几个。
说自己做大数据,要么在吹牛逼,要么在装牛逼。要么就是公司搭了hadoop懒得做抽样和算法优化。
当向百度提交一个"珠串"搜索请求时,百度要知道哪些网页和珠串相关,这用到page rank算法,这要求百度把整个中文互联网都爬下来筛一遍,要是没有几万个Map Reduce任务跑,每天更新网页权重,题主只能搜到半年前的信息。
假设题主是淘宝小二,并且花钱做广告位宣传,那么淘宝需要大数据技术。它需要定时更新几亿用户的购买行为,并找到浏览过或者买过珠串这样巨长尾事件的用户,如果不用分布式文件系统,要不找不到(抽样),要不找到时效性太差(单服务器搜索)。
但是如果题主只是关心珠串好不好卖,怎么定价,那么本身并不需要大数据技术。理论上说完全是一个代表性样本可以解决的问题,全国抽样做不了可以做地区抽样,地区抽样做不了可以做代表性访谈。
这个世界不会因为你手里有把榔头,就把所有问题变成钉子。况且榔头还在别人手里。