学习路线
系统的大数据学习路径,帮你少走弯路
大数据开发工程师学习路线
从零基础到大数据开发工程师的完整学习路径,涵盖编程基础、大数据组件、计算引擎、数据仓库等核心技能。
第一阶段:编程基础
打好编程基础是学习大数据的前提,重点掌握 Java 和 SQL。
Java 核心基础
大数据生态大部分组件基于 Java/JVM,需要熟练掌握 Java 语法、面向对象、集合框架、多线程、IO/NIO 等。
SQL 语言
数据开发日常使用最多的技能。掌握基础查询、多表 JOIN、子查询、窗口函数、聚合分析等。
Linux 基础
大数据集群部署在 Linux 上,需要掌握常用命令、Shell 脚本编写、文件权限、进程管理等。
Scala 语言
Spark 的原生语言,了解基本语法、函数式编程、模式匹配、隐式转换等特性。
Python 基础
用于数据分析和脚本开发,了解基本语法、Pandas、数据处理即可。
第二阶段:大数据基础组件
掌握 Hadoop 生态的核心组件,理解分布式存储和计算的基本原理。
Hadoop - HDFS
分布式文件系统。掌握 HDFS 架构(NameNode/DataNode)、读写流程、副本机制、Federation、HA 高可用等。
Hadoop - MapReduce
分布式计算框架。理解 Map 和 Reduce 阶段、Shuffle 机制、分区排序、Combiner 等。实际开发中用得少,但面试常考。
Hadoop - YARN
资源调度框架。掌握 YARN 架构(ResourceManager/NodeManager)、资源调度策略(Fair/Capacity)、Application 提交流程等。
Hive
数据仓库工具,将 SQL 转化为 MapReduce/Spark 任务。重点掌握 HiveSQL 语法、内外部表、分区分桶、UDF、性能优化(数据倾斜、小文件等)。
ZooKeeper
分布式协调服务。理解 ZAB 协议、选举机制、Watch 机制、常见应用场景(分布式锁、配置管理等)。
HBase
分布式列式 NoSQL 数据库。掌握数据模型(RowKey/列族)、架构(Region/RegionServer)、读写流程、RowKey 设计、与 Hive 的集成。
Flume / Sqoop
Flume 用于日志采集,Sqoop 用于关系型数据库与 HDFS 之间的数据导入导出。了解基本架构和使用即可。
第三阶段:分布式计算引擎
Spark 和 Flink 是当前主流的计算引擎,离线和实时各占半壁江山。
Spark Core
掌握 RDD 编程模型、算子(Transformation/Action)、DAG 执行原理、Stage 划分、内存管理、Shuffle 机制等。
Spark SQL
基于 DataFrame/DataSet 的结构化数据处理。掌握 Catalyst 优化器、Tungsten 执行引擎、与 Hive 集成等。
Spark 性能调优
掌握数据倾斜处理、内存调优、Shuffle 优化、广播变量、持久化策略等实战调优技巧。
Flink 基础
实时计算引擎。掌握 DataStream API、时间语义(Event Time/Processing Time)、Watermark、窗口(滚动/滑动/会话)等。
Flink 状态与容错
掌握 State 状态管理(Keyed State/Operator State)、Checkpoint 机制、Savepoint、Exactly-Once 语义等。
Flink SQL
使用 SQL 进行流批一体开发。掌握动态表、时间属性、窗口 TVF、维表 JOIN、CDC 等。
Spark Streaming / Structured Streaming
了解微批处理模型与 Flink 真正流式的区别,掌握基本使用即可。
第四阶段:消息队列
消息队列是实时数据链路的核心,Kafka 是大数据领域的标配。
Kafka 核心原理
掌握 Kafka 架构(Broker/Topic/Partition)、生产者与消费者模型、消费者组、Offset 管理、ISR 副本机制等。
Kafka 高级特性
了解事务消息、Exactly-Once 语义、Kafka Connect、Kafka Streams、性能调优等。
第五阶段:数据仓库理论与实践
数据仓库是大数据开发的核心工作内容,理论和实践同样重要。
数仓基础理论
掌握数仓分层架构(ODS/DWD/DWS/ADS)、事实表与维度表、星型模型与雪花模型、缓慢变化维等。
维度建模
掌握 Kimball 维度建模方法论:需求分析 → 确定粒度 → 确定维度 → 确定事实。理解可加/半可加/不可加度量等。
数据治理
了解数据质量管理、元数据管理、数据血缘、数据安全、数据标准等概念和常用工具。
指标体系建设
了解指标的定义方法、原子指标/派生指标/衍生指标体系、指标管理平台等。
ETL 开发实战
数据清洗、转换、加载的实际开发流程。掌握增量/全量同步、数据校验、异常处理等。
第六阶段:OLAP 引擎
用于实时/准实时分析查询的引擎,提供秒级响应的多维分析能力。
ClickHouse
列式存储的 OLAP 数据库。掌握表引擎(MergeTree 系列)、数据分区、物化视图、查询优化等。
Apache Doris
MPP 分析型数据库。掌握数据模型(Aggregate/Unique/Duplicate)、物化视图、Rollup、数据导入方式等。
Elasticsearch
分布式搜索和分析引擎。了解倒排索引、Mapping、查询 DSL、与日志分析场景(ELK)的结合。
第七阶段:调度与运维
大数据任务的调度管理和集群运维能力。
任务调度系统
掌握 Apache DolphinScheduler 或 Apache Airflow。了解 DAG 任务编排、依赖管理、告警配置、调度策略等。
Docker & K8s 基础
容器化部署的趋势,了解 Docker 基本操作、K8s 核心概念(Pod/Service/Deployment),以及 Spark/Flink on K8s。
数据质量监控
了解数据质量规则定义、异常检测、数据对账、监控告警体系等。
第八阶段:面试与求职
针对性准备面试,积累项目经验。
简历打磨
突出项目经验和技术栈,用 STAR 法则描述项目。简历要精炼,控制在 1-2 页。
面试题刷题
系统刷大数据面试八股文:Hadoop/Hive/Spark/Flink/Kafka/数仓 等核心知识点。
SQL 刷题
重点练习 HiveSQL 面试题:窗口函数、行转列、连续登录、TopN、留存分析等高频题型。
项目实战经验
准备 1-2 个完整的大数据项目经验,包含:业务背景、技术选型、架构设计、核心难点和解决方案。