数据自古就有,并不稀奇,数据前面加了一个“大”之后,这些年被吵的火热,有的人说掌握数据就是掌控未来,到底如何掌控未来,大家都莫衷一是。火热的背后,作为一技术人员,我们应该仔细思考。 一、关于工具 说起大数据,首先想到的是Hadoop以及Hadoop周边生态Hive、Sqoop、Hbase、Zookeeper等,把大数据与这些工具对等,是错误的,大数据也并不是非这些工具不可,如果轻量级的技术可以解决,没必要用这些重框架。Hadoop固然强大,但是维护优化成本比较高,不花几年功夫去研究,很难得心应手的去使用。作为一个技术人员,使用工具固然重要,真正应该去领悟的是工具背后的设计哲学。 二、什么是大数据 对于什么是大数据,这又是一个抽象的概念,作为一个技术人员,我定义不了这个概念,我只能用我的一些经验来浅显的描述大数据。 1、可视化 2、数据采集、清洗、清除噪声 3、程序设计(Java、R) 4、条件概率 5、优化 6、算法、统计模型、机器学习 7、检查数据一致性 8、直觉 9、各种各样软件知识 10、写报告 …… 也许还有很多标签,经验有限,并不能一一列全。对于一个数据技术人员而言,他需要有如下技能: 1、数据可视化 2、机器学习 3、数学 4、统计学 5、计算机科学 6、行业知识 值的说明的是,行业知识往往决定了该数据产品的深度和运用度。是否存在这样一个精通所有技能并且是业务专家呢?答案肯定是否定的。 那么大数据怎么做,怎么才叫有成果,要做的什么程度,如何检验,确定怎么样的方向,这便是我苦苦思索的问题。 三、关于职业 一些耳熟能详的词Hadoop、MapReduce、HDFS、HBase、Hive、Pig、Sqoop、JStorm、Mahout,作为技术人员,一听到这些词汇,总会有敬畏与崇拜之心,或许很多人认为掌握了这些工具,就掌握的大数据,然而并非如此。工具始终是工具,写过MapReduce、Hive SQL,用过Sqoop导数据,这些并不是大数据,这些只是最基本的吧。 很多公司对于大数据岗位职责界定模糊,或许很多公司希望一个人专多项技能:业务架构师、建模工程师、Hadoop运维工程师、算法工程师、JavaEE架构师等等 对于听说过大数据这个概念,想投身其中的年轻人,我只能说这是一个坑,大数据必然是做的多,精的少,花的时间多,收获小。为什么这样说,要做的精,必定是对某一行业某一业务的深刻的认识,比方说电商的推荐业务,没有多年业务积累,怎么构建出业务模型,没有高深的数学功力,怎么构建出数据模型,没有深厚的编程功底,怎么写出优质算法出来数据…… 一向痴迷技术的我,我也只能说大数据是无底深渊。 四、关于规划 我不止一次问自己,JavaEE架构做的好好的,为什么选择大数据这个坑,其实最初的理由就是对技术的向往与执着,我甘愿跳坑,跳坑了不做出一点东西来,又不甘心出来,只能用这句话来描述内心的挣扎“宝宝心里苦,但是宝宝不说”。 大数据范围那么广,工具那么多,我可以做一点什么。思来想去,我想做一个开放式数据处理平台,初衷也是简化大数据处理。 Hadoop使用门槛高,把你图形化、厌倦了Hive的命令行,把你图形化、厌倦了用脚本批处理任务,写个流程引擎把你图形化,Hadoop安装麻烦,把你图形化安装、Hadoop查看文件麻烦,把你图形化,机器学习算法不好写,把你图形化……
|