之前参加了一个技术论坛,有幸认识几位大佬,本着“近朱者赤近墨者黑”的原则,梦想有朝一日也当上大佬的我只好厚着脸皮要资料,据说有不少小伙伴靠这份秘籍成功掌握了大数据的核心技能,拿到了 BAT Offer。今天无私分享给你们,感谢的话别多说,一起加油当大佬吧!
第一份资料针对已经处于和正在奔向这个行业的所有人,不论你是想实现技术的进阶,还是大数据行业的入门,都可以从这份《大数据学习路线图》中理清思路,为自己制定一个清晰、系统的学习计划。
图片将大数据开发的学习分为 5 大模块,14个步骤,每个阶段都标出重难点,帮助你快速 get 当下大数据领域主流技术、新潮流技术以及延伸的机器学习知识。
1. Java 知识
第一大模块是 Java 的知识,作为大数据从业人员,Java 必须要会。因为大数据平台很多软件都是 Java 开发的,所以我们必须要掌握这门编程语言。
2. 离线阶段
第二大模块是离线阶段。大数据计算有离线计算和实时流式计算,实时虽然是王道,但现状是,在企业应用当中离线计算也占有挺大比例。 对于离线阶段,要重点学习 Hadoop 框架及其生态圈当中的技术栈。 此外,数据采集工具 Flume,大数据交互组件 Hue 也需要学习,以及前面提到的 HBase 非关系型据库,还有一些任务调度系统,我们把它们都归为 Hadoop 生态圈技术栈。 在这个学习路线图当中,还有大数据平台经常涉及到的两个组件——Redis 和 Kafka,也需要我们去学习。
3. 实时阶段
实时阶段离不开 Spark,建议你在学习 Spark 之前,最好掌握 Scala 语言,Spark 程序往往是用 Scala 语言开发的。 Spark 不仅有离线处理部分,也有实时处理部分。其中离线处理部分就叫作 Spark SQL,可以处理离线数据;实时处理部分叫作 Spark Streaming,可以处理流式数据。 这个阶段,你还应该掌握 Spark 的源码以及 Spark 的调优措施。
4. 新技术实践阶段
最近一两年出现了一些新技术,这些新技术也受到越来越多的企业关注,所以对于我们来说,还是有必要去学习的。 比如实时处理框架 Flink,还有做多维分析、时效性特别高的软件,像 ClickHouse、Kudu、Kylin 以及 Druid,以及Elasticack(ELK),即海量日志平台。 其实 ELK 并不算是很新,放在这里只是提醒你注意下学习大数据平台知识的时候,也应该学习 ELK。
5. 机器学习阶段大数据发展的下一步就是人工智能机器学习,这两个领域中间的界限现在已经非常模糊了。在大数据开发的过程中也经常会去调用一些机器学习算法,所以还是要储备一定的机器学习知识,这样的话我们才更有竞争力。 对于机器学习,我们经常用 Python 语言,所以你可以去学习 Python,再去学习一些机器学习框架,比如 TensorFlow 以及 Spark MLib。
如果按照这 5 个模块完整学下来,相信你不论在原有公司,还是跳槽到新公司,工作起来都会更加得心应手。
网友评论