2021大数据学习路线(基于自身技术栈)

大数据学习最好有一门语言基础,Java和python最好。学习资料的话,推荐阿里云社区的课程和B站上尚硅谷的免费课程。学习过程中,结合着大数据组件的官方文档

对自己理解不了和模糊的地方,做一个补充。数仓和spark分析这块,最好结合这业务来,多加联系加深影响。

2021大数据学习路线(基于自身技术栈)_第1张图片

https://developer.aliyun.com/learning/roadmap/bigdata

一、Linux

虚拟机VMware,xshell等工具的使用。

1)常用命令(文件查看编辑、用户权限操作、服务器资源操作、进程端口查看等);

2)高级工具命令: rpm、yum、awk、ssh免密、grep、crontab等;

3)常用组件的安装(虚拟机克隆、NAT/桥接等网络配置原理、jdk安装、MySQL安装、时间同步服务等)

4)shell脚本编程(/bin/bash: if判断,for循环,取参数时间等)

 

二、zookeeper

1)安装部署

2)zookeeper数据结构,node类型,数据存储

3)paxos算法、zab原理,集群脑裂

4)监听器原理,选举机制和具体过程,写数据流程;

5)zookeeper的API,watch,分布式锁实现,服务动态上下线

 

三、Hadoop

通用部分:

安装部署(完全分布式和HA方式部署,联邦方式了解),运行和简单操作(HDFS和MR的),源码编译,添加压缩(snappy、lzo)

 

1、HDFS部分

1)架构和组件,具体分工;

2)block的决定依据,切片划分机制,FileinputFormat的几种实现类;

3)HDFS文件的shell操作,上传下载以及Java API操作等;

4)对应的文件读数据流程,写数据流程,小文件问题;secondaryNameNode的工作机制和过程;

5)dataNode的数据完整性怎么保证;怎样动态上下线新的dataNode;机架感知

 

2、MapReduce部分

1)切片机制,mapTask数决定;

2)mapTask工作机制和流程:(FileinputFormat类;map;环形缓存区结构、设计意义和配置参数;partitioner分区和快速排序;自定义分区器;

溢写文件和归并排序;combiner;自定义排序writableCompareble;)

3)shuffle过程(Java序列化和MR序列化WritableComparable;压缩编码)

4)reduceTask过程:(reduceTask并行度决定和设置;分区数量和ReduceTask数的结果;远程拷贝和归并合并;分组GroupingComparator;reducer;

outputFormat和自定义输出)

 

3、yarn部分

1)组件和功能(RM和NM; yarnRunner、MRAppmaster、yarnchild、container)

2)资源调度器:FIFO,容量,公平;

3)yarn参数调优

 

四、hive部分

1)安装

2)数据类型和集合数据类型,类型转换

3)beeline、matastore;集成Tez引擎; 配置hive on spark;配置压缩;

4)数据库操作;表(内部表、外部表;分区表;分桶表);load数据到表、导出数据到本地;

5)查询操作(sql);内置函数(时间、字符串、json等);自定义UDF、UDAF;分组(group by、sort by、distribute by、cluster by)

join操作;窗口函数;行列转换; 常用(NVL、if()、CASE WHEN、Rank())

6)文件格式(textFile、sequenceFile、Orc、parquet)

7)数据倾斜的现象和原因;优化(开启MapJoin、开启Map端聚合、join时做控制过滤 、动态分区调整、开启推测执行、开启JVM重用等)

 

impala

1)架构与简介;安装;操作

 

presto

 

 

五、数据抽取工具(sqoop / kettle)

1) sqoop 1.X和2.X的架构;底层原理;安装部署

2)RDBMS导入数据;导出数据到RDBMS;空值问题、一致性问题;

3)kettle在window环境下安装,操作;JVM配置

 

六、flume

1)数据分域;双层flume的意义

2)安装部署;agent的组成架构;常用source(自定义source);常用拦截器(自定义拦截器);channel选择器;channel类型;常用sink(自定义sink)

3)agent内部原理和流程;event结构;put事务,take事务;

4)Kafka channel 和HDFS sink,参数配置和调优;

5)监控器ganglia

 

七、Kafka

 

八、调度工具(azkaban / airflow)

 

九、hbase

 

clickhouse

 

kudu

 

十、集群搭建(ambari / clouderaManager )

 

 

十一、scala

 

spark

基础部分:

 

spark sql

 

spark streaming

 

spark内核解析

 

 

十二、 python

 

pyspark

 

superset

 

十三、数据仓库

概念和理论

1)分层设计;数据分域

2)维度建模方法和依据

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Hadoop)