大数据开发是一个广泛的领域,需要涉及到很多技术和知识点。以下是一个基本的大数据开发学习路线:
第一阶段:
1、Java基础
Java编程基础,基础很重要。面试必问。
主要重点:面向对象、集合、IO流、反射、多线程。还有,内存机制、垃圾回收等,面试高频知识点。
2、SQL课程和Linux基础
数据库很重要。面试必问!主要是MySQL:索引、存储引擎、窗口函数、事务等重点。
很多人就是这里没学好,导致后面死掉。mysql 数据库目前作为市面上应用最广泛的数据已经成为了各大公司必备产品,其实学习数据库就是在学习 sql 语言。
同时,想从事大数据开发相关工作,还需掌握Linux基础操作命令。因为大数据开发的服务器都是Linux系统,所以要会用Linux的基本操作。刚开始学习可以大致过一遍就行。
3、Hadoop 框架
Hadoop 框架同样是学习的基础,也是重点,更是面试的重点。可以先准备三个虚拟机,跟着视频,把集群搭建起来,后续的学习会一直用到的。
4、Hive【重点】
对于Hive需掌握其安装、应用及高级操作等。
面试必问:如何将 HQL转为MR执行?几个排序,数据倾斜,数据倾斜的优化策略等
5、HBase
大数据开发需掌握 HBase 基础知识、应用、架构以及高级用法等。
6、辅助框架:Flume、Sqoop、Azkaban
7、大数据项目实战(一):基于Hive的离线数仓项目【重点中的重点】
第二阶段
1、Scala 基础
想要学好 Spark 框架,拥有Scala基础是必不可少的,也会和 java 结合起来。因此,大数据开发需掌握 Scala 编程基础知识。
看得懂会用就行。以后可慢慢提高。
2、Spark框架:SparkSQL、SparkStreaming【重点】
大数据开发需掌握Spark基础、SparkJob、Spark RDD、spark job部署与资源分配、Spark shuffle、Spark内存管理、Spark广播变量、Spark SQL、Spark Streaming以及Spark ML等相关知识。
可以一边学 spark 一边跟 hadoop 对比,一定要理解 spark 和 hadoop 的异同点。
3、Kafka 消息队列
大数据开发需掌握Kafka 架构原理及各组件的作用和使用方法及相关功能的实现。重点理解Kafka 的架构和应用场景,生产者、消费者的原理等。
4、大数据项目实战(二):基于Spark的实时+数仓项目【重点中的重点】
第三阶段
1、Flink【重点】
目前业内的趋势。
2、Redis
大数据开发需掌握 Redis 的安装、配置及相关使用方法。
3、大数据一些其它的辅助框架(Kylin、Druid、Presto、Impala、ClickHouse等)
4、大数据项目实战(三):基于Flink的实时ETL和数仓项目【重点中的重点】
第四阶段
1、计算机基础和数据结构算法
2、Java底层和部分框架源码
注:红点表示重点看的,黄色旗子表示辅助看的
以上是一个基本的大数据开发学习路线,但是实际学习过程中需要根据自己的实际情况进行具体的调整和修改。
完整版可点 me,告诉我需要的资料。