关于大数据入门的相关闲聊
(本文摘自网络,原文地址https://blog.csdn.net/limuzi13/article/details/50414835)
这篇文章可以让想要了解大数据的同学对整个大数据目前的社会现状有所了解,对于同学们是否想要入坑会产生一定影响,可读
下面是文章原文:
原文分割线=
00 缘起
之所以有这个话题,是因为周末加班中午吃饭与一个同行朋友聊起了这个话题,之后再细细地结合一些其他接触的东西,确实是有些感触的。
并且对于行业的一些现状,也的确有些自己的看法,对不对先不论,这玩意儿也没有对错之分,每个人都有自己想法,当然也包括我博客虫了。
所以,有些东西、有些想法我还是愿意分享出来的,畅所欲言吧~~
01 我眼中的大数据现状!
其实个人在大数据在大数据这个坑中,细细算来,时间也有3+年了,从一开始做大数据中心平台开发构建,到现在关注的数据上层应用挖掘。所以,基本上从数据收集->数据处理(离线实时,并且还勉强算是国内实时处理早期的实践者)->数据上层应用挖掘,这个链路都走了一遍。
并且,加上手里一千多人的大数据圈子,以及有过发起组织线下技术沙龙等等经历,坑内里的做的东西并不算十分的多,但是通过一些交流,接触过的这方面的东西还是不少的。
所以,不至于有资格说对这个技术方向有啥定论,但是一些自己的看法见解还是有滴。
说起大数据,有个成语可以来形容一下它的现状:遍地开花!
如今,在国内,只要是个IT公司(说的是非传统行业),出去的时候,感觉要是说自己公司没有涉足大数据都不好意思。
所以,现在的情况大部分是这样的:一个创业公司哪怕只有十多人的开发团队,也非得整一个大数据小组出来,我们不止要做大数据离线处理,还要做离线处理,不止有数据分析报表,我们还得进行深度的数据挖掘,做到精准的个性化推荐,流弊的数据预测!
偶滴娘亲啊,寥寥数人,不止要搭起一整套完整的数据收集、数据传输、数据离线实时处理,不止要维护hadoop集群、spark集群、storm集群的稳定性,抽空还要做深层数据挖掘,还要研究工业化流弊的算法。
你们招的这些人不是攻城狮啊,是神啊!这么流弊!
其实我并没有说这种做法一定是错的,只是行业现状真心很多这种情况。如今,大数据确实是异常略微畸形的火爆!
至于说大数据这个技术方向为何会如此的爆炸,个人的观点可能和大部分的观点一样:一方面是数据积累到一定程度了;另一方面是大规模数据处理技术的日渐成熟,其中当然以hadoop生态为代表。
但在不久前,我曾和一个创业公司的COE聊过这个话题,他的观点很新颖。他反驳了我的观点,他说中国现在之所以大数据遍地开花,是由于赚钱模式变了。
他说,在以前,随便搞点啥都能拉到一大坨投资,但现在经济形势不一样了,必须想其他新的触发点,那就是数据,并且围绕数据而产生新的利益点,这样,投资人才愿意投钱进来。所以,是个公司都愿意和大数据沾点边,不然都不好意思出去说。
就个人而言,其实感觉他说的也挺有道理的,不过我依然保持自己的看法,只是两人看待事情的角度有些不一样,我是从技术的角度去解析这个情况,而他则更多从创业者的角度试图去解释这个事情。无关对错!
就目前来说,业内大数据遍地开花这个情况确实是存在的,个人感觉大体上有如下的具体变化:
(1)涉足的数据处理方式上来说,大规模离线处理已经被玩坏了,稍微有点实力的公司都已经开始离线、实时并行了(近一两年Storm、Spark强势崛起);
(2)而在数据来源上,已经不再局限于自个的数据了,越来越多的公司开始爬取互联网上的公共数据(我曾在《DT时代变革的反思》一文中比较详细的分析过这个数据新来源);
(3)而在数据的上层应用上,也已经不再局限于多维统计分析,渐渐得向用户画像、精准个性化推荐、业务的预测等方向靠拢(但实际上深层挖掘方面,国内还是很low的);
1
2
3
002 大数据年份这东西!
之前和朋友吃饭时聊的时候,他说到大数据这个技术方向的积累问题。他曾感叹到,大数据这个方向还是缺少底蕴。
我问他为何这么说,他说你见过十年以上的大数据专家么?其他行业方向,比比皆是!我顿时无语,大数据这个技术方向满打满算才发展不到六七年吧,上哪找十年以上的大数据专家去。
情况确实是这样的,基本可以分这几种情况吧:
(1)在这个坑里,真正五年以上的大数据背景的人,已经可以算的上是半个专家了,业内绝对是稀有动物(所以,经常看到那种招聘简历写到十年以上大数据行业背景,我就笑了);
(2)而诸如三四年的,会点数据架构,又会点上层数据应用挖掘的,估计至少也能算的是半个中坚了,这种人不算太少,但也绝对不算多;
(3)最多的是那种不到两年大数据行业背景的,特别是那种听闻大数据行情好,纷纷转过来一两年左右的,再就是那种一毕业就立志投身大数据行业的新人朋友,这类型的人应该是占据大数据从业人士中的绝大部分。
1
2
3
4
5
这个方向却是缺少累积的,经常在群中(storm-分布式-IT技术 191321336)遇到那种号称是搞大数据的,然后问到:hadoop和storm哪个比较好?
我的天呐,为何他们那么喜欢把两个不是一类东西放在一起比较?!我都无力吐槽了,就目前来说,大数据这个方向确实缺少底蕴,还略显浮夸,需要时间去积累。
003 企业在招什么样的大数据工程师?
(1)刚洗白一两年的,或者立志为大数据行业做贡献的毕业生。
刚才说大数据行业遍地开花,人员稀缺,从个人经历来说,这真心是这种状况。
业务重心逐渐偏移到数据部,所以部门急剧扩招(当然也有老员工离职的问题),近三个月来,我陆陆续续面试了大约有7个人左右吧。
面试的人中有两三年工作经验的,也有四五年工作经验的,当然也有刚毕业的本科生或者硕士生。
看年份感觉都还不错是吧,但是如果你翻一翻简历就会哭了。就说说三到五年工作经验的吧。
简历中,项目经历一项一大溜啥XX管理系统、XX电商后端开发项目,翻了八九个项目,终于在最后看到辣么一两个大数据有关的项目。而掌握的技术中是各种的什么Spring MVC啊、SSH啊、js啊、甚至是php之类的,只有寥寥数个什么hadoop啥的,还不敢放在前头,当时我就哭了/(ㄒoㄒ)/。
情况真是这样的,工作经验足的,很多都是刚从其他技术领域转过来的,其中以开发java后端,诸如精通什么MVC框架的人群为主体。
能说上hadoop是怎么回事,会点MapReduce、Hive之类的是常态;会点Spark,能写Scala,知道Storm的,少之又少;能把整个数据框架流程说清楚的都是奇才了;至于说到大规模数据的深层挖掘,他们是这样说的“没怎么接触,但有这个兴趣去学”。
行情确实是这样的,大数据的坑挖的太大,所以各个公司都缺人,而且还是奇缺,所以也就有了上面我说的现象,各个行业,特别是传统IT行业的从业人士,纷纷转入互联网,投身大数据。而有点大数据经验的,大部分都是香馍馍似得供着,不愿意放手。
所以,最终我们这边实际情况就是,问HR咋回事,HR说JD发出去无数份,能拉过来面试的就酱紫了。
最终大老板发话了,说到:经验差点没关系,只要脑子活愿意学,就要!所以,7个人,offer就发出去4份。
但更悲剧还在后头,两个有大概平均1.5大数据经验的人,拿到offer后根本不鸟之,也也不知道后来去了哪个公司,而最后进来的是两个本科以及硕士应届毕业生。
(2)我们来看看一些“喜人”的招聘需求。
随便翻一翻招聘网站的职位需求,每天都有大量的大数据相关职位被刷新。然后结合刚才我们所说的一些混乱现状,你会发现很多“喜人”的招聘说明。
我希望的是,用人的公司也好、企业也好,看完这个之后,能对招人有个更清晰的定位。
我们要的是大数据行业专家!
JD中是这么描述的,十年以上大数据领域经验,然后会XX,然后又得会XX。再多的俺就不多说了,结合刚才我们说的大数据行业历史。十年?我就呵呵了
我所看到的这种JD,大部分出自于传统IT行业(看到没,传统IT行业也开始追赶潮流了),而互联网公司职位描述就含蓄多了,最起码他们不会动不动就要十年以上“砖家”。
而且还有一点个人想吐槽的就是,你说十年就十年吧,给待遇还奇低无比。关于这一点,互联网公司就比较明白事理的。
关于大数据薪酬这一块,我们再进行分析分析~~
我们要的是能进行大规模数据挖掘的人才!
关于数据挖掘,上面也稍微提到过一点,数据的上层应用挖掘,这个需求随着数据处理流程日益完善,数据的应用已经从简单的多维统计分析,慢慢得向深层挖掘过渡。
不说大规模数据,就说传统的数据挖掘,其实这块就国内的情况来看,还是处于比较初级的状态的。
我们经常看到这样的职位JD描述,Title写的是“数据挖掘工程师招聘”,然后附加条件是,熟悉大数据领域,会MapReduce、kafka、hadoop、storm、spark,熟悉ETL,对若干NoSQL了解熟悉,能够进行平台搭建,平台开发,能够进行数据处理,会分类、聚类、用户画像、个性化推荐各种算法。
最后在工作年限上写着“1-3年”(年份太足是很贵的嘛)。我的天啊,他们看样子不止是想招数据挖掘工程师啊。
他们像是在招ETL工程师;不对,应该是大数据平台开发工程师;也不对,好像确实是在招数据挖掘工程师,没看到有算法需求吗。
我赶脚呀,他们不是在招数据挖掘工程师,他们是在招一个全能工程师,是在招一个神啊。
(3)说了不少,对于大数据人才招聘这块,简单的总结一下吧!
其实个人感觉,企业还是需要对自己岗位定位要有一个比较清楚的定位的。
如果你的资金足,想招一个业内权威点的,专家级人物,没关系,但你也别睁着眼瞎说十年呐。上哪去给你找十年专家啊!
所以,个人建议就是,瞄准在大数据领域真正玩过五年以上的,基本上就是牛人了,也足够你用的了。
然后针对刚才说的“数据挖掘”招聘现象,其实定位也很重要了,真心想要招一个类似“全能”的人,至少也要找一个在这个领域待过3+年的。
至少三年以上的时间,这种人会对数据架构,数据处理流程,甚至是上层数据应用挖掘,都有相应的经验,而不至于空白一片,并且容易带动其他一年半年的大数据经验的人,做方向导向,团队就能快速形成大数据战斗力。
所以,如果真心想要类似这种“全能”,真心实意点,把年份改到3+吧,并且要求实打实的3+大数据技术背景,估计差不多。
接下来就是那种一两年的大数据技术背景的,这种以java后端开发转行大军为代表。如果你的预算瞄准的是这个市场,那你也别玩虚的,对口招聘吧。
要做大规模离线处理,你就招会hadoop的;需要实时处理,你就招会Storm或者会Spark Streaming的;需要做ETL,你就招熟悉ETL流程的;招数据挖掘,就找会点算法的。这才是实在的!
而对于应届生来说,个人赶紧项目经验都是其次的,哪怕是一些实验室项目经验来说,也没啥大用。好歹算是接触过一些内幕的,所以实验室项目的质量,咱就不多说了,呵呵就行了。
所以,我们看的一是基础能力。就个人的感觉来说,基础能力当然不必说,我更偏向于对大数据技术感兴趣,并且思维敏捷的应届生。
为什么这么说呢?因为大数据技术这个领域会涉及大量的新事物,各种开源的东西,经验少没关系,只有思维够敏捷,有强大的快速学习能力,那就没有问题!
004 我们真的需要算法工程师吗?
接着刚才的话题,不少企业公司打着招数据挖掘工程师,算法工程师,我在想他们是真的需要算法工程师么?
答案显然是否定的!
我曾关于数据挖掘工程师与算法工程师的区别问题,跟不少人讨论过,我的个人看法是,算法工程师的范围显然是小于数据挖掘工程师的。
数据挖掘工程师需要了解整套数据流入的过程,包括数据的接入、预处理,然后需要知道怎么用数据解决实际的业务问题,说白就是想办法让数据产生价值。
他需要知道一整个数据到业务输出的机制或者说是系统,可能涉及到复杂的算法转化,也可能只是简单的规则转化,或者多个模型的转化组合输出等等,他是一个比较全面而概括性定位。
而算法工程师则不一样,他们的职责我认为更纯粹,他们需要知道如何把现实问题转化为数学的模型,并且把模型调到极致,从而解决问题。所以,算法工程师工作内容更单一,但是更专,需要更好的数学功底。
这也就是为何我不敢对外说是算法工程师的原因了,我怕被揍,哈哈~~
OK,有点绕远了。我们回过头来说说,目前大部分公司企业在找大数据的人,同时也在找数据挖掘工程师或者算法工程师。
那么,企业或者公司如何在数据挖掘这块进行定位呢?我个人认为,大部分中小公司是不具备找纯算法工程师条件的。如果,有小公司说要招算法工程师,要么是金多任性,要么是打着招算法工程师的幌子,招会点数据挖掘的人。
至于原因呢,一方面是算法这块,在国内属于稀缺资源,所以成本都比较高;另一方面就是在实际的业务操作中,高深的算法模型难以工业化(所以,大部分论文上的东西离工业化生产是很远的,别被骗了);再者就是在数据挖掘领域,一些很初级容易工业生产化算法,甚至是简单的规则定制,都在现阶段已经能达到业务目的了,我们又何必费那个劲呢?!
所以,我认为企业在这种阶段,你们需求是这种能够进行大批量数据处理,然后又知道怎么进行数据工业转化的人。因为,算法工程师在这种阶段难以获得你需要的性价转换。
包括我们大数据部门内部也是同样如此,算法小组冠着“算法”的头衔,干着数据处理的杂活。这需要时间去过渡!
当然,如果你一定要养那么一群专业的算法工程师,辣么,我只能说,你拿的天使投资太多了,估计是不知道怎么花了,养着就养着吧。
005 谈一谈薪酬,谈一谈人生吧!
最后,谈一谈薪酬,谈一谈人生,谈一谈理想吧!
说到谈薪酬,谈人生谈理想这个环节,我想大部分都是比较喜欢的,我也不例外,我也很喜欢,哈哈~~
正如之前所说的,大数据这个领域,有点略微畸形的火爆,导致了这个方向很缺人,也正是大量java后端开发人员转行的直接原因。
因为缺人,他们就转行么?显然是扯的!大伙儿都是有理想的人,要向“钱”看的。缺人,找不到人怎么办?提高待遇,自然就有了。
我看到过一份2014年的职业薪酬统计报告,其中大数据方向绝对是属于偏高的。就我所知,除去金融行业的高玩们。
接下来就是玩数据挖掘的,特别是会大规模数据挖掘的人,如果是专业的算法工程师,那么,就更赞了,麻麻再也不用担心我的工资了。
然后就是游戏行业的开发着,游戏是个保利行业,所以他们薪酬高一些是很正常的。
再接下来就是冠以“大数据”称号的攻城狮们。这类的,要么是做平台构建的,要么是做大数据架构,要么是做数据处理的等等。工资也比纯Java后端开发、C开发、C++开发等高那么半档一档的。
接下来跟大数据没有半毛钱关系的职位啥的,我就不多说了~~
006 写在最后
所以,总体来看,整个大数据行业还是比较混乱的,企业对自己需求定位很混乱,虽然如此,依然是难以招到人。
对于投身大数据这个坑的人来说,我个人的建议就是,要入行没问题,但是找准自己的兴趣G点,别想着啥都想掌握。找准一个切入点,比如就是平台搭建、就是ETL、就是写离线处理程序、就是研究实时等等,然后,慢慢再往大领域中扩充自己的大数据知识库存。
就我个人来说,从数据架构到数据上层应用挖掘,目前依然在坑内,也没有打算从大数据的这个坑中脱身。
大数据这个方向是个技术快速更新、迭代的技术领域,所以,个人鼓励坑中人士多多交流、多多分享才能跟上这个时代潮流。