大数据工程师(仓库方向)校招技术栈
说明:
- 本篇为算法工程师(数据挖掘方向)的校招技术栈,都掌握了,加上项目部分和算法部分,去掉运气的部分,大厂是没什么问题的。
- 个别特别细节的本篇没有覆盖到,比如paper这些
- 大数据开发涉及的技术栈在所有技术方向中都算是比较广的,全部掌握通常是对高阶人才的要求。
数据仓库建模(核心):
数据仓库分层:
- ODS
- DWD
- DWS
- ADS
关系建模:
也叫范式建模,了解前三范式
维度建模:
- 星型建模
- 雪花建模
实体表,维度表,事实型事实表,周期型事实表
全量表,增量表,拉链表
Hive和Hive SQL(核心):
DDL:
非常简单,需要掌握但是很少考察
DML:
非常简单,需要掌握但是很少考察
DQL:以下操作的语义和实现
- Distinct
- 聚合:group by,group by distinct
- 关联:inner join, left/Right Outer join, full outer join, Cross join
- 过滤:where
- 排序:order
- Window(开窗函数)
- UDAF和UDTF
大数据生态:
Hadoop(核心):
- HDFS:架构,读写流程,存储原理,高可用
- YARN:架构,三种调度模式,容器
- MapReduce:架构,shuffle,map和reduce的原理,编程模型,序列化
Spark(重要):和MR的相同不同之处,内存型计算,SQL Engine。基本概念(编程模型)
- 和MR的相同不同之处
- 内存型计算
- SQL Engine
- 基本概念(编程模型)
Flink(加分):
- 流式计算
- exactly-once
- checkPoint
- 状态存储
ZooKepper(加分):
- 架构
- ZAB协议
- 基本概念
- 读写流程
- Leader Election
Kafka(加分):
- 架构
- 读写流程
- 高可用
OLAP(加分):
- Impala
- Presto
- ClickHouse
- Kylin
- Doris
日志采集(加分):
- flume
- canal
Hbase(加分)
- 架构
- compaction
- MVCC
Java(重要):
- Java基础:OOP,类加载,异常,反射
- Java多线程编程:锁,线程池,volatile,JUC
- Java的容器类:List,Map,Set
- JVM:JVM布局,GC
- Java的IO:BIO,NIO,AIO