对于Java程序员,大数据的主流平台hadoop是基于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)参加数据竞赛
3)通过企业实习获取项目经验
如果你仅仅是做大数据开发和运维,则可以跳过第二步和第三步,如果你是侧重于应用已有算法进行数据挖掘,那么第三步也可以先跳过。
大数据开发:
1、大数据基础:Linux基础、Maven基础
2、Hadoop生态体系:HDFS、MapReduce、Yarn及其周边软件Hbase、Hive、Pig等;
3、Spark生态系统
4、项目实战
为啥要转大数据?大数据就拿北京这边的培训来说都没有几个能教得比较好的,能胜任企业的,到了企业也是做一些别的。
Java并不比其他任何编程语言差,而且,Java的整体学习课程里也有包含大数据的学习,除非你是真的不适合,不然是不建议你转。
最后建议你看看蛙课上的Java编程课程,编程的资源非常多,相当于程序员的编程百科全书,资料库。
大数据只是 一个大体方向,,,,,,要看是做分析、还是依然写代码
~~~~~~~~~
第一阶段Java
第二阶段JavaEE核心
第三阶段Hadoop生态体系
第四阶段大数据spark生态体系