前言
18年从天津来到上海读研,从一个Java连递归都写不好的小白,到目前的大数据开发菜鸡。我觉得我收获颇多,成长很多。17年在本科学习的时候,接触到Java这门编程语言然后就深深喜欢上了。然后当时就立志以后要从事Java语言的相关技术开发工作。18年到了上海,先是花了一年时间做了网页的开发以及数据分析的理论知识学习。从19年开始,正式踏上大数据学习之旅。
本人在学习大数据阶段是带着强烈的找工作的目的去的,也就是以工作秋招为导向。所以有些知识的学习上,好多是为了找工作面试准备的。
准备阶段
1. 学习整体体系
刚开始准备学习大数据的时候,在网上找到了学学多多的学习路线,看的我眼花缭乱。最后从多个路线中结合自己的学习与工作,制定了一套适合自己的学习路线。这里我觉得,别人的总结肯定是最适合他的未必适合自己,取其精华才是硬道理。下面总结一下老生常谈的理论知识体系(这是按照我接触的时间顺序来的):
- Linux命令、系统基本概念
- Java(这个本人认为一定要学,因为大数据的好多框架是基于Java写的)
- python (python可以做好多api的编写,spark Kafka都支持python语言,本人觉得工具语言,很棒的语言)
- Scala(因为spark在大数据生态里面举足轻重,没办法只能学它了。而且Scala语言写spark程序真的很简洁)
- Hadoop (这里指的是HDFS)
- MapReduce
- hive
- kafka
- zookeeper
- yarn
- hbase
- spark(这里包括spark core、sparkstreaming、sparkSQL)
- 其他例如sqoop、flume等技术栈。
- 计算机网络、操作系统
- MySQL
- 数据仓库理论
- 分布式理论
总结:上面的学习顺序是我结合个人实际情况安排的,另外大数据的技术栈很多很多,flink、kettle等都能学。
2. 书籍视频材料
这一块是学习任何一门新知识的前期准备的核心部分,一本好的专业书和一些好的视频资料能够让自己受益匪浅。我分别从各个方面来讲一下我觉得还很不错的书籍。
- Linux部分
网上大部分都推荐鸟叔的《Linux私房菜》这本书,我被这本书的厚度吓到了,所以只是简单的看了一些。Linux的学习我是在B站上看的,这里强烈推荐B站的学习视频,个人感觉不错。 - Java
Java这个庞大的知识体系,从基础到进阶有许多业内优质的书籍,这里挑出基本我看过的而且很不错的书。
2.1 基础部分:
《Java核心技术》卷一卷二都非常好,而且讲的很专业。建议学Java基础的童鞋那这本书为主要参考,网上资料做辅助。
2.2 进阶部分:
《Effective Java》这本书目前还在看,感觉很不错。让我了解了许多在开发过程中似懂非懂的知识;
《Java并发编程实战》理论性很强,但是把并发这块讲的很透彻。
《Java并发编程的艺术》理论性稍弱,通俗易懂,很棒
《深入理解Java虚拟机》这本书不用多说了,必备 - Hadoop生态圈
3.1 书籍部分
《Hadoop权威指南》这本书包罗万象,但是不要以为它都是简单叙述。里面讲mr和yarn还有hdfs章节都很棒,网上看到的大多数资料文章都能在这本书里找到原处。我还买了其他的关于spark、hive、hbase的,个人感觉提升不大,这里就不讲了。
3.2 视频
B站尚硅谷,这个相信学大数据的都知道了。入门很棒,而且里面的一些资料总结真的很有用,特别是那些老师的教案。 - MySQL
《高性能MySQL》 强烈推荐,面试好多东西都在里面。
总结:视频资料以时间最新为准则,看新不看老。然后挑着看,有的视频没必要看的。
开干
我大概是从19年4月份开始学习大数据的,目前已经一年多了。下面总结一下整体的学习路线。
- Java
Java这个语言是贯彻始终的,是要不断学习实操的,所以没有学习计划可言。遇到好的书或者自己薄弱的地方就学,补充就完了。 - Hadoop生态圈
因为尚硅谷的视频都是有章节安排的,我一般是按照他们的视频章节顺序来学习的。我是先看视频,然后再看买的书籍。具体时间可根据个人自行安排,总而言之视频是入门,书籍是巩固,项目是提升。
时间线:
2018年9月-至今 Java一直在学习中
2019年4月-2019年9月 把Linux、python、Hadoop中的hdfs、yarn、mr、hive、hbase全部学习完毕(包括视频书籍)
2019年10月-2020年1月 spark全部学习完毕
2020年5月-至今 计算机网络和操作系统以及MySQL依旧学习中 - 项目部分
跟着视频里做过一些简单的项目,然后实习公司里也有一些简单的项目。如果想要扩展项目,GitHub上面有很多不错的,可以跟着做一做。当然了,实习或者工作有好的项目那是最棒的。
总结:我这里写的非常简洁,因为我认为只要前期把学习资料准备好,并且把学习的大致顺序设计好。然后直接开整就完了,这个过程中弯路肯定会走,也会遇到很多挫折,但是终会拨云见日的。
最后的曙光
上面就是本人一年的大数据学习之旅,其实回想起来并没有很复杂。从刚入手时的迷茫,到迷雾中找到方向,一步一个脚印过来的。其实学习过程也是个螺旋式上升的阶段,先给自己订个大纲包括学什么、怎么学、怎么用这三点。接着付诸行动即可,我们的努力终会有回报。