从IT时代到DT时代,我们所面临的知识体系和结构不可避免的发生了一些变化,对IT技术宅男的我们也造成了不小的冲击,那么,作为IT从业者的我们,如何顺利完成DT时代技术的升级和转型,不至于补淘汰被出局的命运呢?且听我下面一一道来;
随着大数据并行处理技术的出现并日趋成熟,以数据驱动的业务及应用在现在的IT行业中所扮演的位置越来越重要,市场份额越来越大,如果你是一家稍微有点规模的公司,你还没有hadoop环境(专门用于大数据分布式处理的平台),你都不好意思说你是一家IT公司。而这些变化其实都离不开智能手机的普及和电信技术的发展,不然即使有大数据并行处理技术的出现,这么大的数据量也无用武之地。但是伴随这个发展过程,在IT行业摸爬滚打的我们不可避免的遇到了如下一些问题:
(1) 只掌握单纯的编程技术,无法满足新的需求变化带来的冲击;
(2) 数据分析人员现有的知识结构,无法完成新的需求任务;
(3) IT行业中的DBA如果只掌握结构化数据库的知识,已经无法胜任新的DBA工作;
(4) 项目管理者面对着新的体系架构,无法设计出合理的架构。
上面这些冲击,其实已经足以毁灭一家传统的IT行业公司,所以行业中都是拼命的一定要和大数据扯上关系不行,不然好像你就活不下去了似的。尤其是2016年Google的AlphaGo战胜世界围棋冠军李世石,这一科技热点更是加速了整体行业涌入大数据的步伐。
最近给人的感受是传统行业的开发者们更是犹如热锅上的蚂蚁,尤其是哪些只掌握单一技能的开发者或者是一直在传统行业公司干几很多年,只会用C,Delphi,C++之类编程语言的开发者,更会有末日都要到了的感觉。那么我们来看一看为何大数据技术的出现和发展会对传统IT行业的从业者们造成如此大的伤害呢?大体原因如下:
(1) 随着电信行业的发展,使得通过智能设备搜集数据(包括文本,图片,视频等)上传到服务器端成为可能,使得我们目前的数据维度之丰富,数据量之大,如果还使用老的思路来进行数据处理和数据分析已经不可能完成,这样打个比喻吧,用以前的技术来处理现在的数据量,可能你在有生之年都看不到最终结果,所有这是hadoop得以诞生后得以讯速发展的原因,虽然haddop的原生技术是用JAVA写的,但是光掌握单一的JAVA语言已经不能完成新的任务了;
(2) 当我们现有的数据变丰富后,也就是维度变大后,我们需要从更多的角度来分析一个事务,而不像以前那样,数据分析人员,只需要根据年龄段,性别,经济收入和工作性质等少数据几个维度来分析数据,和其它公司使用大数据,更多维度分析得出来的结论准确性,没有可比性,所以对数据分析人员需要分析更多维度的数据,而且需要找出其中的关联性,所以发展出了新的技术分析方法,以前的技术人员已经无法胜认新的工作了;
(3) 对于结构化数据时代为王的DBA,由于大数据技术的发展,出现的新的数据库存储方式和方法和以前的结构化数据都不一致的数据库方法,不能按以前的知识体系来管理新的数据库了,而且由于数据量的巨增,转化后需要存储的数据量也远远比以前多了好多倍,这就需要新的分布式结构化数据库来管理,这结DBA来说,也是一种新的知识;
(4) 而站在项目管理者和架构师的角度看,如果没有接触过或者了解过新的架构体系,首先就是不知道新的体系架构承载多大的数据量,多大的并发量比较合理,所以设计出来的系统架构可能会比较不合理,如果在加上人为因素,就会带来成本的不合理,而这些都是需要在使用中逐渐才能解决的问题;
(5) 随着维度丰富的数据及及相应匹配的技术的出现,使得数据挖掘的价值大有可为,而这类人才,因为新技术是最新才出现的,所以不可避免的就会缺少相应的人才,而且是极度缺少。
好了,从IT到DT时代,把我们面临的问题和原因都找到了,那么我们具体来看一下我们都需要那些技能才能跟上时代的步伐呢,结果笔者所在行业,作了一下简单的整理,如下:
(1) Hadoop(含hdfs,Hbase):完成离线处理作业;
(2) Apache Spark:流式处理框架,主要完成在线作业;
(3) Apache Storm: 侧重于极低延迟的流处理框架,主要完成在线作业;
(4) Apache Samza: 与Apache Kafka消息系统紧密绑定的流处理框架;
(5) HIVE/Impala: 主要完成关系型分析查询作业;
(6) Pig:主要完成数据清洗,ETL 等脚本作业;
(7) Greenplum:分布式结构化数据库,主要完成结构化的数据处理;
(8) Mahout: 用于数据挖掘。
那么作为IT技术宅男的我们,如何去习得这些技术并发扬光大呢,话说在学会一门技术的最快的学习去使用它,那们如何都有哪些公司在使用呢,很简单就能知道,去百度搜索一下2016互联网公司top100,划出一个名单来,直接去应聘大数据部门就是了,为了不至于被虐成狗,要求掌握的最低最低要技能如下:
练熟掌握JAVA,好呆也做过几个拿得出手的项目吧;
掌握基本的数据库知识;
掌握hadoop基本框架,最好能自己搭一套,并做一些具体练习。