数据从产生到被使用,最基础的链路就是。采集 -> 清洗 -> 处理 -> 分析 -> 决策。而在这个链路上,从前到后,所需要的技能是不一样的。一般来说,越处于后端门槛越高,复杂程度也越高。当然我不是说前面就不重要了,每一个环节都很重要,只是门槛高低而已。每个阶段做到牛逼你都可以很牛逼。
所以数据开发的职位从纵向来说,可以分为 数据采集工程师->ETL工程师->数据开发工程师->数据算法工程师->数据分析师。从横向来说,还可以有数据集群运维工程师、大数据平台开发工程师、数据治理架构师、数据服务架构师、大数据系统架构师、大数据框架开发工程师 这些职位来支持前面的这些流程更加方便快捷地开发和落地,以及更好地维护。
如果我想转型,我需要什么技能呢?
从职业发展来说,大数据开发一般来说有这么三条线。
主线1:服务支持线(新手基本不受欢迎了)
数据集群运维工程师->大数据平台开发工程师->大数据系统架构师->大数据框架开发工程师
必选:Linux、Hadoop集群,Hive、Zookeeper、HBase、Ozzie、Flume
可选:Impala、各种框架源码
语言:shell、Python
建议路线:1、先学习基础的 Hadoop 集群维护技能,写一些 shell 脚本,使用定时调度功能。2、学会使用平台工具进行监控和维护,并参与到平台开发和工具开发中。3、对现有系统架构和框架进行重新架构或改良。
主线2:数据仓库线(新手基本不受欢迎了)
数据采集工程师->ETL工程师->数据治理架构师->数据服务架构师
必选:HiveQL、Spark、Hive、Flink、Kafka
可选:Storm、分布式一致性算法、JVM调优、MapReduce、BitTable
语言:Scala,SQL,Java
主线3:数据挖掘线(分析能力强的还是很吃香)
数据开发工程师->数据算法工程师->数据分析师
必选:可视化技术、SQL、统计学、概率论、智能优化、机器学习工具(Tensorflow、scikit-learn)
可选:caffee,torch,OpenCV
语言:Python,R
我是不是学 Scala 就算转型了?
最后聊聊数据从业人员的语言问题。总是有小伙伴问我,该不该学 R,该不该学 Scala ,该不该学 Python,该不该用 Java。我的观点就是,每个语言都只是自己的工具,不要守着一门语言死磕,每个语言都有它自己擅长的领域,在每个领域你尽量用它擅长的语言去处理,就好了。当然,如果你已经工作了五六年还被语言局限,那你可能要好好思考一下了。
2019年08月编程语言排行榜
Scala:Spark的实现语言是 Scala,现在也有大神用 PySpark 来实现一些数据处理的东西,为了兼容机器学习框架。
Python:数据爬取和机器学习从业必备,其他语言基本都是旁支。不要以为Python跑得很慢,其实那些框架都是 C++ 和 C 实现的,只是套了一个 Python 的壳,还做了很多优化,比你自己写的 C++ 还快。
R:数据探索和数据可视化有非常多场景是用 R 语言来进行做的。
Java:Hadoop 套件基本都是用 Java 实现的,熟悉 Java 可以让你更加清晰你所占用的资源分布,瓶颈是在 cpu 还是 内存,是磁盘 IO 还是 网络 IO。
结论
大数据还是值得转型的,而且很值得,但是想着只靠一个技能翻身的机会没了,想靠着转型大数据涨薪的日子,也一去不复返了。
但是,大数据中高端人才,正在为推动行业发展发挥着越来越大的作用,你,还有机会。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新