2013年,移动互联网的力量深入民心。大数据也走进RD和PM,到处都在谈并行,分布式,谈gpu,异构计算。。。
那么是否我们真的这么需要这些呢?
大数据的本意,我觉得是说随着移动互联网的应用爆发,网络上的用户数据越来越多。一方面,信息多了需要一些 管理工具,方便查询分析。一方面,海量的用户数据,可以挖掘出不少用户信息,更好的服务用户和获取商业效益。
但是一般的应用需要这样的工具吗?
1 一般的应用不会想google这样需要处理全局性的平台数据,大多是做垂直整合,关键在于专业化和数据质量。
2 如果不是每天有TB级的数据需要分析,用hadoop这样的平台,关键不在数据多,而在多个业务数据共享和及时处理。
原来在神奇网站分析用户日志数据建立个性化模型,数据也能达到TB级,但最终有用的数据要少很多。刚开始做的时候, 也考虑过hadoop这样的平台,但因为复杂性等原因用了更简单快速的方案。差不多2年后,迁移到公司新搭建的hadoop平台, 发现框架的限制很多,只能做些简单的初步数据处理。至于后面一些设计机器学习的训练程序,如果用mapreduce实现本来 就很不合适,当时考虑了spark和graphlab框架,graphlab的效果不错很符合这方面的需求。其实一般数据量来说,gensim 做一些lda方面的训练已经足够了,像gensim这样的轻量级工具还有很多。
哎呀,书面语言的组织能力愈发差了,还是写一些key-ideas-graph比较方便。