大数据开发指南
通知
关于我
❤️ 介绍:老刘是一名即将找工作的研二学生,自学大数据开发,一路走来,感慨颇深,大数据开发的资料没有Java开发的资料多,网上资源良莠不齐,于是想写一份详细的大数据开发指南。📝 内容:这份指南把大数据的【基础知识】【框架分析】【源码理解】都用自己的话描述出来,让更多伙伴自学从此不求人。⛔ 须知:所有文章(没有特殊说明)都是我(老刘)的原创,禁止恶意抄袭/搬运,让我们共同拥护良好的学习环境。🚩 联系:您的点赞是我持续更新的动力,禁止白嫖,看了就要有收获,有需要联系公众号:努力的老刘。
大数据开发指南目录
🔥
必看:说给各位伙伴的话 目前,这份大数据开发指南很多知识点都没有写,大家暂且把它当做一份学习路线来看,以后老刘会陆续更新,不会让大家失望的,必会让各位自学从此不求人!
现在有的内容如下:
大数据开发基础篇
- Java基础、Linux基础:这个不讲
- MySQL基础:这个不讲基础,讲相关架构等进阶知识点
大数据开发框架篇
- 分布式文件系统Hadoop
- 分布式理论原理解析
- 分布式协调框架ZooKeeper
- 分布式数据仓库Hive
- 分布式列式数据库HBase
- 分布式消息系统Kafka
- 大数据辅助框架
- 内存计算框架Spark
- 最新实时计算框架Flink
大数据开发源码篇
关于源码的理解,老刘只能带领大家进入源码的世界,对主要流程的源码有了解,剩下的还需要一起加油!
大数据思维导图篇
👍
大数据开发学习路线 一、Java基础、Linux基础
网上资料太多了,老刘这块就忽略了!
二、MySQL进阶知识点
- mysql架构: 精通MySQL之架构篇
- mysql索引: MySQL索引篇(一定要跟着老刘练习)
- mysql锁:精通MySQL之锁篇(2021.02.01更新)
- mysql事务: MySQL事务篇(2021.02.05更新)
- mysql性能优化: mysql查询太慢,我们如何进行性能优化?(2021.02.07更新)
三、分布式文件系统Hadoop
-
分布式存储系统——HDFS(还没写,陆续更新)
HDFS的概念、命令、编程
核心概念Blocks(重点)
HDFS架构(重点)
HDFS读写流程(重点)
Hadoop HA高可用(重点)
文件压缩
小文件治理(重点)
-
分布式计算框架——MapReduce(还没写,陆续更新)
MapReduce编程模型(重点)
MapReduce原理图(重点)
MapReduce编程
Shuffle(重点)
自定义分区
自定义Combiner
MR压缩
自定义InputFormat
MapReduce数据倾斜(重点)
-
资源调度系统——Yarn(还没写,陆续更新)
YARN介绍
YARN架构(重点)
YARN应用运行原理(重点)
如何使用YARN
YARN调度器
YARN应用状态
四、分布式理论原理解析
这是老刘发的一篇博客,里面详细讲述了分布式理论的由来发展和实现!
-
核心知识点(这是一个完整的流程,就按这个顺序记)
分布式的发展
分布式事务:2PC和3PC
分布式一致性算法:Paxos算法和ZAB协议
鸽巢原理
Quorum NWR机制
CAP理论
BASE理论
五、分布式协调框架ZooKeeper
第四部分给大家讲的是分布式理论,核心就是如何解决分布式数据一致性,大佬们根据ZAB协议实现了分布式协调框架ZooKeeper。
在大数据领域分布式无处不在,相当于必须要掌握的东西,大家一定要理顺所有核心知识点!
-
ZooKeeper核心知识点:(全部都是重点)
为什么要用ZooKeeper
什么是ZooKeeper
ZooKeeper命令行、java编程
基本概念和操作
ZooKeeper工作原理
HDFS HA方案
ZooKeeper集群架构、读写流程
leader选举、ZAB算法
ZooKeeper状态同步
六、分布式数据仓库Hive
-
大数据分析利器hive的基础知识点
核心概念
数据库和数据仓库的区别
架构原理
交互式方式
数据类型
DDL语法操作
-
大数据分析利器hive的DDL操作和DML操作
hive中数据导入的方式
hive中数据导出的方式
hive创建分区表和使用方式
hive的静态分区和动态分区
hive中的分桶表作用
-
大数据分析利器hive的查询操作
select查询语句中的基本查询
select查询语句的分组
select查询语句中的join
select查询语句中的排序
-
大数据分析利器hive的高级操作
hive表的数据压缩和文件存储格式
hive的自定义UDF函数
hive的JDBC代码操作
hive的SerDe介绍和使用
-
大数据分析利器hive的优化(重点)
如何优化
如何避免或减轻数据倾斜
-
hive的综合案例实战(一定要重点练习)
七、分布式列式数据库HBase
-
大数据数据库HBase的基础知识点
HBase是什么
HBase表的数据模型
HBase整体架构
HBase shell 命令基本操作
HBase的高级shell管理命令
-
大数据数据库HBase的原理性知识点
HBase的数据存储原理
HBase读 | 写数据流程
HBase的flush、compact机制
region 拆分机制
HBase表的预分区
region 合并
-
大数据数据库HBase的实操知识点
HBase集成MapReduce
HBase与Hive的对比
HBase协处理器
HBase表的rowkey设计
HBase表的热点
HBase的数据备份
HBase二级索引
-
phoenix构建二级索引详解
八、分布式消息系统Kafka
-
Kafka的基础知识点(前3条必须掌握)
为什么有消息系统
Kafka核心概念
Kafka集群架构
kafka集群安装部署
kafka集群启动和停止
kafka的命令行的管理使用
kafka的生产者和消费者api代码开发
-
Kafka的核心知识点(必须掌握)
kafka分区策略
kafka的文件存储机制
为什么Kafka速度那么快
Kafka的内核原理之ISR-HW-LEO机制
producer消息发送原理
consumer消费原理
consumer消费者Rebalance策略
-
Kafka的应用
kafka整合flume
kafka监控工具安装和使用
九、大数据辅助框架
在一个完整的离线大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集、结果数据导出、任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中都有便捷的开源框架。(最后三个工具老刘只是知道没有练习过)
-
日志采集框架Flume
Flume是什么
Flume的架构
Flume采集系统结构图
Flume安装部署
Flume实战
-
mysql主备复制实现原理
mysql二进制文件格式
Canal概念 | 工作原理 | 架构设计
Canal同步mysql数据
Canal的HA设计
数据同步解决方案总结
-
离线数据同步框架DataX
DataX概念
DataX核心架构
-
数据迁移工具Sqoop
sqoop的核心概念
sqoop的架构原理
sqoop的导入
sqoop的导出
-
工作流调度器Azkaban
为什么需要工作流调度系统
Azkaban的核心概念
Azkaban的架构原理
Azkaban的安装和使用
-
任务调度工具oozie
-
图形化界面工具hue
-
SQL查询工具Impala
十、内存计算框架Spark
-
spark的基础知识点
spark的核心概念
spark集群架构和安装
spark-shell的使用
通过IDEA开发spark程序
-
spark的底层抽象RDD(这个必须熟记于心)
RDD是什么
RDD的五大属性
RDD的创建方式
RDD的算子分类
RDD常见的算子操作说明
RDD常用的算子操作演示和案例
-
RDD原理剖析
RDD的依赖关系
lineage(血统)
RDD的缓存机制
RDD的checkpoint机制
DAG有向无环图的生成
DAG如何划分stage
-
spark任务提交调度和其他特性
spark任务的提交
spark的运行架构
spark中的共享变量
spark程序的序列化
application、job、stage、task之间的关系
-
spark on yarn和任务资源分配
spark on yarn原理和机制
collect 算子操作剖析
spark任务中资源参数剖析
spark任务的调度模式
spark任务的分配资源策略
spark的shuffle原理分析
-
sparkSQL基础入门
sparksql概述
sparksql的四大特性
DataFrame概述
读取文件构建DataFrame
DataFrame常用操作
DataSet概述
通过IDEA开发程序实现把RDD转换DataFrame
-
sparkSQL的应用案例
sparksql操作hivesql
sparksql整合hive
-
Spark调优(重中之重的重点)
Spark应用程序性能优化
基于Spark内存模型调优
数据倾斜原理和现象分析
-
sparkStreaming实时模块
十一、最新实时计算框架Flink
💪
十二、后记 还没写完,陆续更新~~~
- 文档会引用大量网上的博客内容,一般都会写出处,如果忘了,请您联系我,我会进行更改!
- 关注公众号:努力的老刘,推送大数据框架核心知识以及源码讲解等干货技术文章,学习资料下载等!
- 最后的最后,老刘自学遇到过很多困难,一路走来非常不容易,写大数据开发指南目的是让自学的伙伴少走弯路,争取让自学从此不求人!