前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AI时代就业指南:Java 程序员如何转行做大数据?

AI时代就业指南:Java 程序员如何转行做大数据?

作者头像
小莹莹
发布2018-04-19 11:45:58
1.2K0
发布2018-04-19 11:45:58
举报

随着大数据的爆发,中国IT业内环境也将面临新一轮的洗牌,不仅是企业,更是从业人员转型可遇而不可求的机遇。如果将IT人士统一比作一条船上的海员,大数据就是最大的浪潮,借浪潮之势而为之,可成功从IT程序员转行成为大数据专家。

在美国,大数据工程师平均年薪达17.5万美元,在中国顶尖的互联网公司里,大数据工程师的薪酬比同级别的其他职位高出30%以上。DT时代来得太突然了,国内发展势头很猛,而大数据相关的人才却非常地有限,在未来若干年内都会是供不应求的状况,因此程序员们,你们的春天到了!

当然,专行也并非一朝一夕的事情,你需要对这个行业有一定的了解,并匹配一下自己的知识和能力结构。

在此之前我们先澄清几个概念:

什么是大数据?

对此,维基百科上的解释是:大数据,广义上来说是一组量很大很复杂的数据集合,在这种情况下传统的数据处理方式将不再适用。

这个解释对大多数人了解大数据已经足够了。

大数据有哪些职位?

如上,你已经知道,大数据有别于传统的数据处理和数据分析,具体的区别你可以看一下《小白也能理解的大数据和数据分析》一文。

我这里仅强调几点:

  1. 并非所有的数据问题都是大数据问题;
  2. 大数据的分析方法很多理论基础是基于传统数据分析的,两者之间并不存在明显的界限;
  3. 基于传统模式下数据分析,需求会逐渐下降,但是基于大数据生态下的大数据分析模式 将逐渐会需求增多,典型如以hive以及spark-sql为技术基础的大数据分析需求。

接下来,我们看一下大数据和数据分析相关职位划分:

数据分析师:

精通业务,在企业中发挥的价值在于能够利用已有的数据资料进行观测,实验,研究分析出背后的一套规律为企业进行优化决策,包含运营、产品、战略规划等职位。

数据挖掘工程师:

需要较强的编程能力,包括算法工程师、机器学习工程师、深度学习工程师等,这些职位负责建立和优化算法模型,并进行算法的工程化实施。

大数据工程师:

需要较强的编程能力,包括大数据仓库工程师、大数据运维工程师、大数据开发工程师、大数据架构师、爬虫工程师等,这些职位负责数据的收集、清洗、入库、提取、计算等工作。

你可以看到大数据工程师是需要有较强计算机编码能力的,因为面对海量的非结构化数据,你要从中挖掘出有价值的东西,需要设计算法与编写程序去实现,而程序员最牛的能力就是编写简洁高效的代码,编码能力越强的程序员越有可能成为优秀的大数据工程师。

对于Java程序员,大数据的主流平台hadoop是基于java开发的,所以java程序员往大数据开发方向转行从语言环境上更为顺畅,另外很多基于大数据的应用框架也是java的,所以在很多大数据项目里java语言的确是可以派上用场的。

所以,Java程序员转大数据工程师是具备很好的基础条件的。

当然,hadoop核心价值在于提供了分布式文件系统和分布式计算引擎,对于大部分公司而言,并不需要对这个引擎进行修改。这时候除了熟悉编程,你通常还需要学习数据处理和数据挖掘的一些知识。尤其是往数据挖掘工程师方向发展,则你需要掌握更多的工具和知识。

对于数据挖掘工程师而言,虽然也需要掌握编程工具,但大部分情况下是把hadoop当做平台和工具,借助这个平台和工具提供的接口使用各种脚本语言进行数据处理和数据挖掘。因此,如果你是往数据挖掘工程方向发展,那么,熟练掌握分布式编程语言如scala、spark-mllib等可能更为重要。

接下来,我们先给出Java程序员转大数据职位的通用学习路线图

第一步:

掌握 hadoop和spark分布式计算框架,了解文件系统、消息队列和Nosql数据库,学习相关组件如hadoop、MR、spark、hive、hbase、redies、kafka等;

第二步:

学习了解各种数据挖掘算法,如分类、聚类、关联规则、回归、决策树、神经网络等,熟练掌握一门数据挖掘编程工具:Python或者Scala。目前主流平台和框架已经提供了算法库,如hadoop上的Mahout和spark上的Mllib,你也可以从学习这些接口和脚本语言开始学习这些算法。

第三步:

补充数学知识:高数、概率论和线代

第四步:项目实践

  1. 开源项目:tensorflow:Google的开源库,已经有40000多个star,非常惊人,支持移动设备;
  2. 参加数据竞赛:Kaggle和国内天池数据竞赛
  3. 通过企业实习获取项目经验

如果你仅仅是做大数据开发和运维,则可以跳过第二步和第三步,如果你是侧重于应用已有算法进行数据挖掘,那么第三步也可以先跳过。

总结一下:

Java工程师可以更容易理解hadoop的框架和生态,很多大数据saas级产品也是Java开发的,因此Java基础是转行大数据的一个很好的起点。

但是大数据是一个更为宽广的领域,具有跨界知识和能力的人才会更受企业青睐,为此你需要持续的学习和努力。随着人工智能时代的到来,大数据将迎来黄金发展的10年,如果你已经做好准备,那么就立即开始行动吧!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PPV课数据科学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档