DD 数据开发学习站DATA ENGINEERING
KNOWLEDGE

知识点学习顺序

教程分为知识点和项目两部分。这里是知识点线:按“地基 → SQL → 数仓 → 离线 → 加分 → 平台 → 求职”推进,每个阶段都有可验证产出。项目单独作为一条线,从项目入口进入。

当前学习计划:全部知识点切换或查看计划 →
先跑一遍,再回头读

每章先按示例跑出结果,再回头补概念。见过的结果比背过的定义更牢。

读一遍 → 跟敲 → 脱稿

第一遍看懂,第二遍照着敲,第三遍关掉教程自己写。第三遍才算学会。

每次只求一个可验证产出

一张架构图、一段 SQL、一次对账、一个 commit。别用“看了几章”衡量进度。

知识点进度

已完成阶段 0 / 9 从第一章开始

知识点阶段

按顺序读,不建议跳;选学内容可以按需取舍。

0
阶段 0

地基:先能干活

把环境、Linux、Git、Python 准备好,知道数据开发到底做什么。

这一阶段学什么

动手任务

  • 装好 Python、DuckDB、Git Bash,并用 DuckDB 查询一张小 CSV
  • 在 Git Bash 里完成 20 个常用 Linux 命令练习
  • 建一个 GitHub 仓库并完成第一次 commit
  • 把一个小脚本整理成带 cli、日志和单元测试的 jobs 包

验收标准(全勾才算过)

  • 能说出数据开发、数据分析、后端开发的区别
  • 本机能用 DuckDB 直接查询 data/sample 下的示例 CSV
  • 能用 grep/awk 统计一个日志或 CSV 的 TopN
  • 能运行 python -m jobs.etl.cli 并说明退出码的含义

卡住了怎么办

常见卡点:卡在环境:先装 Python + DuckDB 两件事,Java/Spark 可以延后

常见卡点:命令找不到:确认 Git Bash 和 PATH,不要用 CMD 硬套 Linux 命令

1
阶段 1

SQL 硬功夫

从单表查询练到窗口函数,能独立完成面试级 SQL。

这一阶段学什么

动手任务

  • 完成自选 50 道力扣题(页面勾选,会员题用免费替代)+ 牛客 10 道,记录错题
  • 在本地 DuckDB 玩具库跑通至少 3 章示例
  • 用 5 类脏数据练会过滤与 NULL 判断
  • 学完窗口函数后做一次 30 分钟限时手写

验收标准(全勾才算过)

  • 不看教程写出 SELECT … JOIN … GROUP BY … ORDER BY
  • 能解释 JOIN 膨胀为什么把 GMV 算大
  • 能默写连续登录的 gap-and-islands 模板

卡住了怎么办

常见卡点:复制粘贴:SQL 必须手打,否则面试写不出来

常见卡点:只刷题不猜结果:先预测行数和结果,再执行

2
阶段 2

SQL 工程化:建表与增删改

会写能落库的建表语句,能做增删改,理解事务和幂等写入。

这一阶段学什么

动手任务

  • 为 orders 写一张带主键、非空和注释的建表语句
  • 插入 3 条测试数据,再更新 1 条、删除 1 条
  • 用 BEGIN/ROLLBACK 回滚一次错误修改

验收标准(全勾才算过)

  • 能说清 DELETE、TRUNCATE、DROP 的区别与适用场景
  • 能写出带约束的 CREATE TABLE 并解释每个约束的作用
  • 知道什么操作需要事务,以及 Hive 为什么不支持行级更新

卡住了怎么办

常见卡点:UPDATE/DELETE 不写 WHERE:先 SELECT 验证范围再改

常见卡点:以为 TRUNCATE 能回滚:它通常会隐式提交

3
阶段 3

数仓建模

能画数仓分层、做维度建模、统一指标口径、设计质量检查。

这一阶段学什么

动手任务

  • 手画 ODS→DWD→DWS→ADS 架构图
  • 为 8 张源表画表关系与粒度说明
  • 写 6 条质量检查 SQL 并说明异常怎么处理
  • 为库存和订单履约各选一种事实表并说明粒度

验收标准(全勾才算过)

  • 说清每一层为什么存在、允许依赖谁
  • 能讲清拉链表的开链闭链和查询方式
  • 能设计 GMV、AOV、复购率的口径并写出对应 SQL
  • 能区分事务、周期快照、累积快照事实表并说出适用场景

卡住了怎么办

常见卡点:把分层背成名词:每层都要能说出“不做会怎样”

常见卡点:指标只写 SQL 不写口径:报表没人敢用

4
阶段 4

Hadoop 与 Spark 基础

先理解 HDFS/YARN/MapReduce 的定位,再在本地用 Spark 和 PySpark 跑通第一个清洗任务。

这一阶段学什么

动手任务

  • 画出 HDFS、YARN、MapReduce 各自负责什么
  • 跑通 Spark hello world 与 CSV 读取
  • 用 PySpark 复算 GMV,与 DuckDB 结果一致

验收标准(全勾才算过)

  • 能说清 HDFS 块、副本和 YARN 的角色
  • 能说清 driver/executor、宽窄依赖、shuffle
  • 能解释为什么 Spark 比 MapReduce 快

卡住了怎么办

常见卡点:先装集群再学概念:本地 Spark 足以理解 HDFS/YARN 的定位

常见卡点:Java 版本不对:统一 Java 17 + Spark 3.5.5,别混装

常见卡点:内存不足:本地模式先减小数据量,不要照搬集群参数

5
阶段 5

Hive 与离线调优

在本地 Spark 的 Hive 兼容模式上写分区表、进阶 SQL,并处理 shuffle 与数据倾斜。

这一阶段学什么

动手任务

  • 写一张按天分区的外部表,并用动态分区写入
  • 用 EXPLAIN 验证分区裁剪是否生效
  • 准备 3 条数据倾斜的处理话术

验收标准(全勾才算过)

  • 能讲清内部表与外部表、分区与分桶的区别
  • 能写出 lateral view、collect_set 等 Hive 常用写法
  • 面对“任务慢”能说出至少 2 种排查/优化方向

卡住了怎么办

常见卡点:分区字段和表字段重名:分区字段是目录,不是表内列

常见卡点:只会写 SQL 不看执行计划:用 EXPLAIN 对照 shuffle 和分区裁剪

6
阶段 6

实时、OLAP 与工程(加分)

先保调度能上手,再用概念覆盖 Kafka/Flink/OLAP 和容器化;找到实习后再深入。

这一阶段学什么

动手任务

  • 配一个带依赖和重试的 DAG,说清每个任务的上下游
  • 把项目改成按天分区 + 覆盖写,说明幂等方案
  • 读 Kafka、Flink、ClickHouse 三章并各写 3 句总结
  • 为一个 ETL 任务写出 Dockerfile,并用挂载卷运行一次

验收标准(全勾才算过)

  • 能说清补数如何保证幂等
  • 能回答 Kafka 为什么快、Flink 水位线是什么
  • 能说出 OLAP 列存和行存的适用场景
  • 能解释镜像、容器、卷的区别和容器内数据不持久的原因

卡住了怎么办

常见卡点:贪多:选学内容只要求讲得清,不要求装集群

常见卡点:把选学当必修:时间不够先保 SQL、数仓与项目

7
阶段 7

平台与数据服务(按目标选修)

补齐云数仓、NoSQL、dbt、画像、BI 与安全,按目标计划选择,不必全学。

这一阶段学什么

动手任务

  • 选一个目标计划,勾出计划内和计划外的章节
  • 用 DuckDB 建一张按日期分区的 Parquet 外部表
  • 写出一个包含 3 个标签的画像宽表和一次位图圈人
  • 给一张敏感表设计行级权限和脱敏视图

验收标准(全勾才算过)

  • 能说清存储计算分离和按扫描量计费的成本控制
  • 能区分 KV、宽表、文档、搜索四类 NoSQL 的适用场景
  • 能用 ref、测试和增量模型描述一个 dbt 项目
  • 能说清用户画像的长表/宽表、位图和 ID-Mapping
  • 能列出 BI 服务的指标字典、缓存和行列权限做法
  • 能说出数据分级、脱敏、审计和导出管控的至少三条要求

卡住了怎么办

常见卡点:把平台章节当必修:先按目标计划选,项目急用时只读对应章节

常见卡点:只看概念不动手:平台章节都有 DuckDB 或 Python 小练习,至少跑一遍

8
阶段 8

求职准备

简历定稿、面试题过关、开始投递并复盘。

这一阶段学什么

动手任务

  • 简历压到一页,项目 3 条 bullet 都有数字
  • 3 分钟讲完项目并准备 5 个追问
  • 投出第一批 20 家并记录状态

验收标准(全勾才算过)

  • 能不看稿讲清项目架构、难点、结果、不足
  • 高频面试题能答出 15 道以上
  • 每次面试后 24 小时内写 3 行复盘

卡住了怎么办

常见卡点:准备好再投:永远准备不完,边投边补

常见卡点:简历写“精通”:改成熟悉/了解,并守住追问边界

项目:另一条独立线

项目不占知识点顺序,随时可以开始;从空目录和数据下载开始,按里程碑自己建仓。

进入项目 →
PROJECT TRACK

从空目录到可复现的四层数仓

准备数据和实验室库,按 ODS → DWD → DWS → ADS 逐层建表,最后做对账、报告和 3 分钟讲述。

学习建议

一些让学习更有效的建议。

卡住怎么办

先读报错 → 查本页 FAQ → 自己试 20 分钟 → 看折叠答案 → 记进错题本。不要卡一整晚。

选学怎么取舍

先保 SQL、数仓、项目;Kafka/Flink/OLAP/采集可以先读概念,不装环境。

学完一章再进下一章

验收清单勾完再往下,别用“看过了”代替“做过了”。

做完阶段再复盘

每完成一个阶段写 3 行:学会了什么、卡在哪、下一步补什么。

本页目录