大数据这个词,恐怕是近两年IT界炒的最热的词汇之一了,各种论坛、会议,言必谈大数据,“大数据”这个词,在IT界已经成了某果一样的“街机”或者叫“街词”,不跟风说两句“大数据长,大数据短”都不好意思跟人说自己是搞IT的。从某种程度来讲,大数据这个“圈”太乱了,一点不比“贵圈”好。
先从概念上来说,大数据是什么?其实数据处理从人类诞生时期就有了,古人结绳记事就是基本的统计,统计自己吃了几顿饭打了几次猎等等;再往近说,皇帝每晚翻嫔妃的牌子也是数据处理,在翻牌子之前,要从一大堆牌子里分析“方便”、“热度高”、“新鲜度”等指标;更近的说,数据仓库早在大数据这个词出现前就已经成熟发展了好几十年了。所以说,大数据并不新鲜,只是某些技术如Hadoop、MR、Storm、Spark发展到一定阶段,顺应这些技术炒出来的概念,但是这些概念都基于一个基本的理念“开源”,这个理念是之前任何阶段都没有过,可以节省费用提高效率,所以大家才都往这个行业里扔火柴(话说现在很多人跟风乱吵,个人认为也不是坏事)。
在这里还是要推荐下我自己建的大数据学习交流群:529867072,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。误区一:只有搞大数据技术开发的,才是真正“圈内人”。
笔者曾经参加过若干会议,70%是偏技术的,在场的都是国内各个数据相关项目经理和技术带头人,大家讨论的话题都是在升级CDH版本的时候有什么问题,在处理Hive作业的时候哪种方式更好,在Storm、Kafka匹配时如何效率更高,在Spark应用时内存如何释放这些问题。参会者都一个态度:不懂大数据技术的人没资格评论大数据,您要不懂Hadoop 2.0中的资源配置,不懂Spark在内存的驻留时间调优,不懂Kafka采集就别参加这个会!对了,最近Google完全抛弃MR只用Dataflow了,您懂吗?不懂滚粗!
在这里我想说,技术的进步都是由业务驱动的,某宝去了IOE才能叫大数据吗,我作为一个聋哑人×××师用结绳记事完成了对于不同体型的人,用什么×××手法进行全流程治疗,就不叫大数据分析了吗?技术发展到什么程度,只有一小部分是由科学家追求极致的精神驱动,大部分原因是因为业务发展到一定程度,要求技术必须做出进步才能达成目标的。
所以,真正的大数据“圈内人”至少要包含以下几种人:
一、业务运营人员。比如互联网的产品经理要求技术人员,必须在用户到达网站的时候就算出他今天的心情指数,而且要实现动态监测,这时候只能用Storm或者Spark来处理了;比如电信运营商要求做到实时营销,用户进入营业厅的时候,必须马上推送短信给用户,提示他本营业厅有一个特别适合他的相亲对象(呈现身高、三围、体重等指标),但是见面前要先购买4G手机;再比如病人来到银行开户,银行了解到用户最近1周曾经去医院门诊过两次,出国旅游过3次,带孩子游泳两次,马上客户经理就给客户推荐相关的银行保险+理财产品。这些业务人员,往往是驱动技术进步的核心原因。
二、架构师。架构师有多么重要,当一个业务人员和一个工程师,一个说着业务语言,一个说着技术术语在那里讨论问题的时候,工程师往往想着用什么样的代码能马上让他闭嘴,而架构师往往会跳出来说“不,不能那样,你这样写只能解决一个问题并且会制造后续的若干问题,按照我这个方案来,可以解决后续的若干问题!”一个非技术企业的IT系统水平,往往有70%以上的标准掌握在架构设计人员手里,尽快很多优秀的架构师都是从工程师慢慢发展学习而来的,IT架构的重要性,很多企业都意识到了,这就是很多企业有CTO和CIO两个职位,同样重要!架构之美,当IT系统平稳运行的时候没人能感受到,但是在一个烟囱林立、架构混乱的环境中走过的人眼中,IT开发一定要架构现行,开发在后!
三、投资人。老板,不用说了,老板给你吃穿,你给老板卖命,天生的基础资料提供者,老板说要有山便有了山,老板说要做实时数据处理分析,便有了Storm,老板说要做开源,便有了Hadoop,老板还说要做迭代挖掘,便有了Spark……
四、科学家。他们是别人眼中的Geek,他们是别人眼中的高大上,他们是类似于霍金一样的神秘的早出晚归昼伏夜出的眼睛男女,他们是驱动世界技术进步的核心力量。除了世界*的IT公司(往往世界技术方向掌握在他们手中),其他公司一般需要1-2个科学家足以,他们是真正投身于科学的人,不要让他们去考虑业务场景,不要让他们去考虑业务流程,不要让他们去计算成本,不要让他们去考虑项目进度,他们唯一需要考虑的就是如何在某个指标上击败对手,在某个指标上提高0.1%已经让他们可以连续奋战,不眠不休,让我们都为这些科学家喝彩和欢呼吧。在中国,我认为真正的大数据科学家不超过百人……
五、工程师。工程师是这样一群可爱的人,他们年轻,冲动,有理想,又被人尊称为“屌丝”“键盘党”,他们孜孜不倦的为自己的理想而拼搏,每次自己取得一点点进步的时候,都在考虑是不是地铁口的鸡蛋灌饼又涨了*钱。他们敏感,自负,从来不屑于和业务人员去争论。工程师和科学家的不同点在于,工程师需要频繁改动代码,频繁测试程序,频繁上线,但是最后的系统是由若干工程师的代码组合起来的。每个自负的工程师看到系统的历史代码都会鄙视的发出一声“哼,这垃圾代码”,之后便投入到被后人继续鄙视的代码编写工作中去。
六、跟风者。他们中有些是培训师,有些是杀马特洗剪吹,有些是煤老板有些是失足少女。他们的特点就是炒,和炒房者唯一不同的就是,他们不用付出金钱,他们认为只要和数据沾边就叫大数据,他们有些人甚至从来没碰过IT系统,他们是浑水摸鱼、滥竽充数的高手,他们是被前几种人鄙视的隐形人。不过我想说,欢迎来炒,一个行业炒的越凶,真正有价值的人就更能发挥自己的作用。
误区二:只有大数据才能拯救世界
大数据目前的技术和应用都是在数据分析、数据仓库等方面,主要针对OLAP(Online Analytical System),从技术角度来说,包含我总结的两条腿:一条腿是批量数据处理(包括MR、MPP等),另一条腿实时数据流处理(Storm、内存数据库等)。在此基础上,部分场景又发现MR框架或实时框架不能很好的满足近线、迭代的挖掘需要,故又产生了目前非常火的基于内存数据处理Spark框架。很多企业目前的大数据框架是,一方面以Hadoop 2.0之上的Hive、Pig框架处理底层的数据加工和处理,把按照业务逻辑处理完的数据直接送入到应用数据库中;另一方面以Storm流处理引擎处理实时的数据,根据业务营销的规则触发相应的营销场景。同时,用基于Spark处理技术集群满足对于实时数据加工、挖掘的需求。大数据交流群:251956502
以上描述可以看出,大数据说白了就是还没有进入真正的交易系统,没有在OLTP(Online Transaction system)方面做出太大的贡献。至于很多文章把大数据和物联网、泛在网、智慧城市都联系在一起,我认为大数据不过是条件之一,其余的OLTP系统是否具备,物理网络甚至组织架构都是重要因素。
最后还想说,大数据处理技术,再炫如Google的Dataflow或成熟如Hadoop 2.0、数据仓库、Storm等,本质上都是数据加工工具,对于很多工程师来说,只需要把数据处理流程搞清楚就可以了,在这个平台上可以用固定的模版和脚本进行数据加工已经足够。毕竟数据的价值70%以上是对业务应用而言的,一个炫词对于业务如果没有帮助,终将只是屠龙之术。任何技术、IT架构都要符合业务规划、符合业务发展的要求,否则技术只会妨碍业务和生产力的发展。
随着时代变迁,大浪淘沙,作为数据行业的一员,我们每个人都在不同的角色之间转换,今天你可能是科学家,明天就会变成架构师,今天的工程师也会变成几年后的科学家,部分人还终将步入跟风者的行列。