我是最早做java、ruby,一个偶然机会转型到大数据、数据仓库,最近想研究下spark,有兴趣的可以一块讨论了..
1楼 @tinyfool 平时工作主要数据仓库的建设、维护..给bi系统提供数据支持。最近公司提倡平台化、接口化.组里正开发平台工具,让下游或者外部更方面使用仓库的数据. spark的考虑是因为基于hive的数据仓库想开放给策略人员使用,而策略人员使用数据的特点是多次、快速迭代.各种算法.hive支持不够..so so 工具底层要引入spark.提高分析性能和功能支持..
50万个用户资料算不算大数据呢?应该在一般的定义里面不算吧?
昨天刚听到一个故事,某医院费尽功夫收集了某类患者50万份资料,但是结果是呢?没有会处理……
个人觉得大数据的定义是传统数据库已经很难存储、分析或者即使能存储但查询性能已无法满足业务的需要..这样多的数据可称为大数据.. 之前公司总量1t的数据感觉好大。现在一天的数据5、6t...数据没有最大。只有更大....
大数据这事其实有两层意思:一层是单纯从数据上说,到底如何收集并有效利用数据做决策;另一层是指如何处理数据并完成决策所需要的数据支持。前者是算法科学家或者现在所谓的大数据科学家的事情,后者是基础it架构,最早google的map/reduce,后来的hadoop都是在解决这一块的问题。
不管是叫大数据还是叫全数据,收集数据这事其实早在有人的时候就有了。只是由于计算机和网络的出现,公司获取数据的能力越来越强,很多以前需要调查问卷抽样或者只能采集部分数据的事情,可以通过计算机的手段,获得全量的数据。
说个我第一次听后觉得太牛逼的事情:美国80年代有家叫尼尔森的公司,专门做收视率调查。他们做法非常牛逼,会和家庭签协议,调查这个家庭的一些背景,并放一个与有线电视网联通的盒子在电视机旁边。这个盒子可不是小米盒子,而是个录音盒,目的在根据录音判断这家人看到了哪些广告。这事到这,只能说明当年大家想要收集一些数据都很辛苦,而且有很大的随机性。但是这事没完。后来全世界人民都非常开心的把自己的信息主动写在一个网站上,而尼尔森公司也看到这个机会,就和这家网站合作,取得了大量用户的背景信息(当然理论上是不能反查到个人的),并利用这些信息和自己的收视率数据合并,于是尼尔森公司就能更加准确地提供收视率了。这家网站,叫Facebook。
这事可以说是数据上,从抽样数据转向全量数据的典型。现在各大网站利用cookie这些浏览信息暗中串通记录用户信息早就是公开的秘密了吧。也一直有传闻说个人的行为在互联网上完全无隐私的意思也能懂了吧。那么既然公司买卖的都是全量数据,那么拿来做分析的当然也不会再仅限于抽样数据,也进入了全量数据处理的时代。
那这时就有了另一个问题,如何灵活的处理全量数据。由于收集数据变得越来越容易,当然业务上也会希望能越来越快速的使用这些数据做业务决策。考虑全部过一遍50w个用户资料,用普通的机器需要多少时间,如果是500w呢?如果是5000w呢?量级不同所采用的处理方式也肯定不同,这也是为什么google会是最早提出gfs和mapreduce的公司。而实际业务中,每个用户的行为其实都是可以拿来做分析的,假设一个用户产生了10个行为,那么所有用户就会产生多少行为?要分析这些行为需要什么样的处理架构?分析的时候,如何对上提供分析接口?是让人家写c++/java(传统mapreduce),还是翻译更简单使用更广泛的sql(hive)?而hive是批处理模式不适合快速查询,于是spark是如何引入内存加速,而storm又是如何引入流来加快分析周期?aws又是如何提供hadoop集群来简化部署?
如果是公司层面思考大数据,更多应该关心如何拿到全量数据,如何才能从全量数据里拿到有效决策;而如果是工程层面思考大数据,就是如何搭起一套通用灵活的架构,来满足日益增长的分析业务。
16楼 @smallbaby_dns tmd老子恨死java这鸟语言了。这语言当初号称跨平台,结果使用的组织模式和各个平台都不一样,完全没法利用现有平台的知识。而java这门语言本身又啰嗦无比……