1 Java基础:
视频方面:
推荐《毕向东JAVA基础视频教程》。学习hadoop不需要过度的深入,java学习到javase,在Java虚拟机的内存管理、以及多线程、线程池、设计模式、并行化多多理解实践即可。
书籍方面:
推荐李兴华的《java开发实战经典》
2 Linux基础:
视频方面:
(1)马哥的高薪Linux视频课程-Linux入门、
(2)兄弟连的新版Linux视频教程、
(4)老男孩的Linux。
看的过程中,不可只看不同步操作,这是最危险的一件事!不需全部看完。如:基本的Linux操作系统官网下载、安装(命令行界面和图形界面)、基本命令、网络配置、快照、VM tools工具安装、虚拟机的菜单熟悉等等。这是必须要首先完成的。之后,可回过来再根据需要使用到哪些,再来学习即可。当作工具书!
书籍方面:
(2)之后,进一步可以看书籍《鸟哥的服务架设篇》。
(3)Linux随身指南
(4)老男孩Linux运维
系统学习只要多多实践,学习linux并不枯燥。
3 hadoop书籍:
(1)《Hadoop实战 (第1版) 陆嘉恒》、《Hadoop实战 (第2版) 陆嘉恒》
(2) 《hadoop definitive guide 》,
中文书名是《Hadoop权威指南 (第1版)曾大聃译》,《Hadoop权威指南 (第2版) 周敏奇译》,《Hadoop权威指南 (第3版 ) 华东师范大学数据科学与工程学院译》,当然现在应该是第4版了。
(3)Hadoop技术内幕:《深入解析Hadoop common和HDFS架构设计与实现原理》 蔡斌
(4)hadoop技术内幕:《深入解析YARN架构设计与实现原理》董西成
(5)Hadoop技术内幕:《深入理解MapReduce架构设计与实现原理》 董西成
(5)《Hadoop in Action》,
中文书名是《Hadoop实战》,
(6) 《Hadoop应用开发技术详解 刘刚》
(7)《Hadoop 核心技术》 翟周伟
平常多看看hadoop的官网,虽然是官网,但尽量多学习计算机方面的单词,对后续学习帮助极大。
平常多看看他人的博客和社区论坛。
平常多总结和做好笔记,及时回过头来再次多次整理。
4 Maven书籍:
强烈推荐书籍:Maven实战 许晓斌著。目前是第一版
5、spark书籍:
(1)《Spark大数据处理 技术、应用与性能优化 高彦杰》
(2)《深入理解Spark核心思想与源码分析 耿嘉安》
(3)《图解Spark:核心技术与案例实战》
摘要: 致目前想要学习大数据,但是却不了解大数据,也不知道该从哪开始学起的同学,希望这篇文章能够帮到你们。
最近群里有很多朋友问我,"初学大数据,不知道怎么开始学","不知道大数据具体是什么东西,只是听说很厉害的样子","学习大数据,需要学习哪些框架,只学习spark可以吗?" 等等...类似的问题,针对这些问题,一两句话解释不清楚,所以,就在这里写一些我自己的看法吧,希望可以帮助到初学者的你。
大数据初学者,总结下来,大致有这么几种情况:
- 跨行业转过来的(这一种是最难的,之前可能都没接触过编程,这种属于真正的0基础)
- 即将毕业的大四学员(包含计算机专业或者其他专业,这一种稍微好点,最起码大学的时候多少会接触一点编程)
- 有软件开发经验的老司机(包含,javaweb,.net,c 等)
上面这几种情况的同学都有一个共性,对大数据都是0基础,相对而言,有软件开发经验的老司机学习起来不会很吃力,其余的刚开始学起来会比较吃力,但只要肯比别人多花点时间,多下点功夫,其实并没有你想象的那么难。有付出,才会有回报!
好了,废话不多说了,下面就直接说一下,针对所有大数据初学者的一些学习建议吧【适用于上面三种基础的同学】
大数据是什么?
有很多朋友问过我,大数据到底是什么?一句话来概括
- 针对非软件行业的朋友
- 根据你平时在超市,加油站,饭店等地方的一些消费行为,通过大数据这个技术,我们可以知道你现在的年龄范围,是否婚配,是否有孩子,孩子大致是几岁,是否有固定住宅,车大致是什么价位的等信息。
- 针对软件行业的朋友
学习大数据需要的基本功
1. linux基础是必须的,最起码需要掌握linux命令行下的基本操作命令
2. javase基础【包含MysqL】,注意是javase,不是javaee。javaweb那一块的知识针对大数据工程师而言不是必须的
大数据技术板块划分
- 数据采集
- flume kafka logstash filebeat ...
- 数据存储
- 数据查询
- hive impala elasticsearch kylin ...
- 数据计算
- 实时计算
- storm sparkstreaming flink ...
- 离线计算
- hadoop spark ...
- 实时计算
- 其他框架
- zookeeper ...
下面有一张图,大致列出来了大数据生态圈周边的一些技术框架[不够全面,仅供参考]
其实这张图中主要列出来了hadoop生态圈的框架,后期有时间的话重新整理一份完整的 。
这个图中列出来了很多框架,其实,学习大数据,就是要学习大数据生态圈周边的各种框架。
大数据学习步骤
上面虽然列出来了很多框架,但是最开始学习的时候没必要全部都学,就算是在工作中,这些框架也不一定会全部用到。
下面我就大致列一下,各种框架的一个学习步骤吧:
注意:下面列出来的顺序只是个人建议,可以根据个人实际情况来调整顺序
-
linux基础和javase基础【包含MysqL】
- 这些是基本功,刚开始也不可能学的很精通,最起码要对linux中的一些基本的命令混个脸熟,后面学习各种框架的时候都会用到,用多了就熟悉了。javase的话建议主要看面向对象,集合,io,多线程,以及jdbc操作即可。
-
zookeeper
-
hadoop
- 目前企业中一般都是用hadoop2.x的版本了,所以就没有必要再去学hadoop1.x版本了,hadoop2.x主要包含三大块
-
hive
-
hbase
-
redis
-
flume
-
kafka
-
storm
- storm是一个实时计算框架,和hadoop的区别就是,hadoop是对离线的海量数据进行处理,而storm是对实时新增的每一条数据进行处理,是一条一条的处理,可以保证数据处理的时效性。学习storm主要学习topology的编写,storm并行度的调整,以及storm如何整合kafka实时消费数据。
-
spark
- spark 现在发展的也很不错,也发展成了一个生态圈,spark里面包含很多技术,spark core,spark steaming,spark mlib,spark graphx。
- spark生态圈里面包含的有离线处理spark core,和实时处理spark streaming,在这里需要注意一下,storm和spark streaming ,两个都是实时处理框架,但是主要区别是:storm是真正的一条一条的处理,而spark streaming 是一批一批的处理。
- spark中包含很多框架,在刚开始学习的时候主要学习spark core和spark streaming即可。这个一般搞大数据的都会用到。spark mlib和spark graphx 可以等后期工作需要或者有时间了在研究即可。
-
elasticsearch
目前暂且列出来这么多吧,大数据生态圈目前还有很多比较好的技术框架,这个就需要等大家以后工作之后再去扩展了。
其实上面列出来的这十几个框架,在学习的时候,要专门挑一两个着重研究一下,最好针对,底层原理,优化,源码等部分有所涉猎,这么的话可以在面试过程中脱颖而出。不要想着把每一个框架都搞精通,目前是不现实的,其实就算是在工作中也不会每一个框架都会用的很深。
如果能过对上面的框架都大致会使用,并且对某一两个框架研究的比较深的话,其实想去找一份满意的大数据工作也就水到渠成了。
上面说的这么多,是根据博主最近几年的一些经验总结吧,如果大家有什么观点可以在下面留言讨论。
最终,大家还是要落于找项目来提升自己,必须要有做项目的经验。现在互联网时代,别跟我说,找不到学习的资源。谷歌百度你懂的... !!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。