大数据的学习是有条件限制的,首先你需要是一名普通的工程师,如果你是Java工程师的话更好,但如果你是小白的话,那就只能成为一名工程师的后再来学习大数据。
一、认识大数据
大数据本质其实也是数据,不过也包括了些新的特征,
- 数据来源广;
- 数据格式多样化(结构化数据、非结构化数据、Excel文件等);
- 数据量大(最少也是TB级别的、甚至可能是PB级别);
- 数据增长速度快。
而针对以上新的特征需要考虑很多问题:
例如,数据来源广,该如何采集汇总?采集汇总之后,又该存储呢?数据存储之后,该如何通过运算转化成自己想要的结果呢?
对于这些问题,我们需要有相对应的知识解决。
二、大数据所需技能要求
Python语言:编写一些脚本时会用到。
Scala语言:编写Spark程序的最佳语言,当然也可以选择用Python。
Ozzie,azkaban:定时任务调度的工具。
Hue,Zepplin:图形化任务执行管理,结果查看工具。
Allluxio,Kylin等:通过对存储的数据进行预处理,加快运算速度的工具。
互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却
因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习
群:199加上【427】最后加上210就可以找到组织学习 欢迎进阶中和进想深入大数据的小伙伴加入。
必须掌握的技能:
Java高级(虚拟机、并发)、Linux 基本操作、Hadoop(HDFS+MapReduce+Yarn )、 HBase(JavaAPI操作+Phoenix )、Hive(Hql基本操作和原理理解)、 Kafka、Storm/JStorm、Scala、Python、Spark (Core+sparksql+Spark streaming ) 、辅助小工具(Sqoop/Flume/Oozie/Hue等)
高阶技能6条:机器学习算法以及mahout库加MLlib、 R语言、Lambda 架构、Kappa架构、Kylin、Alluxio
三、学习规划
第一阶段(基础阶段)
- Linux学习
Linux操作系统介绍与安装、Linux常用命令、Linux常用软件安装、Linux网络、 防火墙、Shell编程等。 - Java 高级学习(《深入理解Java虚拟机》、《Java高并发实战》)
掌握多线程、掌握并发包下的队列、掌握JVM技术、掌握反射和动态代理、了解JMS。 - Zookeeper学习
Zookeeper分布式协调服务介绍、Zookeeper集群的安装部署、Zookeeper数据结构、命令。
第二阶段(攻坚阶段)
Hadoop、Hive、HBase、Scala、Spark、Python
第三阶段(辅助工具工学习阶段)
Sqoop、Flume、Oozie、Hue这些工具的学习