未记录事实核验 · 状态:现行内容
记录仅说明核验时间与维护状态,不保证适用于所有环境;使用前请留意正文中的版本、适用条件与风险提示。
数据开发项目库导览
abstract 📋 这个项目库解决什么问题
数据开发工程师最容易学成“组件说明书”:Spark 会一点,Kafka 会一点,Flink 会一点,但一到真实项目,就不知道如何从业务需求拆到数据链路、任务设计、稳定性保障和上线交付。这个项目库就是用具体项目,把数据开发工作从需求到产出的全过程拆开讲。
项目库定位
数据开发项目库重点讲四件事:
- 业务方或上游系统到底提出了什么问题;
- 数据开发如何把问题翻译成链路、表、任务和服务;
- 架构设计时如何做取舍;
- 线上出问题时如何定位、恢复、复盘和沉淀。
tip 一句话理解
这里不是背 Spark、Kafka、Flink 的知识点,而是讲这些技术在真实数据工程项目里如何被组织起来解决问题。
当前项目列表
实时链路与稳定性
- Kafka 消费积压排查与实时链路优化项目:从实时看板延迟开始,拆解 Kafka、Flink、下游存储和监控治理。
- Spark 数据倾斜定位与优化项目:从离线任务跑不完开始,定位热点 key、Shuffle 和业务粒度问题。
- 实时指标平台建设项目:从大促实时 GMV 监控出发,建设 Kafka、Flink、Redis、ClickHouse、BI 和告警闭环。
数仓建设与治理
- 离线数仓分层建设项目:从报表口径混乱出发,建设 ODS、DWD、DWS、ADS 分层体系。
- 数据质量监控体系建设项目:从报表数据错误出发,建设质量规则、告警和问题闭环。
- 调度依赖治理与任务稳定性优化项目:从经营日报晚到出发,治理 DAG、SLA、告警、补数和故障闭环。
用户域与数据资产
- 用户统一 ID 建设项目:从跨端用户身份不一致出发,建设 ID Mapping、OneID 实体、合并规则和冲突治理流程。
数据服务与指标平台
- 指标服务与语义层建设项目:从多系统重复计算指标出发,建设语义模型、指标 API、权限、缓存和调用监控。
后续计划
- 数据血缘与影响分析项目
- AI 辅助数仓开发项目
视觉化内容标准
项目库后续不只使用 Mermaid,也会在合适位置加入更接近真实工作现场的视觉材料:
- BI 看板截图:展示最终报表、核心指标、趋势图、明细表和筛选条件。
- 产品功能页面截图:展示数据开发平台、调度平台、质量平台、标签平台等关键操作页面。
- 建模与链路图:展示 ER 模型、表血缘、任务 DAG、数据流转路径。
- 诊断过程图:展示 Spark Stage、Kafka Lag、质量规则运行结果、告警记录等排查依据。
- 检查清单卡:把项目中的排查步骤、复盘要点和面试表达沉淀为可复用清单。
项目材料标准
为了避免项目案例停留在“讲得像”,后续每篇核心项目尽量配齐以下项目材料:
| 素材类型 | 适合项目 | 作用 |
|---|---|---|
| 表结构/DDL | 分析项目、数仓项目、质量项目 | 说明数据从哪里来,字段如何定义 |
| SQL/代码片段 | 所有项目 | 说明具体处理逻辑,而不是只讲思路 |
| BI 看板截图 | 分析项目、治理项目 | 展示最终交付物和业务使用方式 |
| 数据开发平台截图 | 数据开发项目 | 展示任务开发、运行日志、发布配置 |
| 调度 DAG 截图 | 数仓、实时、质量项目 | 展示依赖关系、实例状态和 SLA |
| ER 模型/血缘图 | 数仓、建模、治理项目 | 展示表关系、粒度和上下游影响 |
| 问题处理记录 | 所有项目 | 说明现场问题、定位方式、修复动作和验证结果 |
note 执行标准
图片不是为了装饰,而是为了让项目更像真实交付:读者看到图片、表、SQL 和问题记录时,能理解这个项目在工作中到底如何落地。
项目内容详细度 V2
后续项目不只写“思路”和“故事”,每篇核心项目至少补充以下实操细节:
## 项目资料包
- 业务背景:公司/部门/场景/角色/时间压力
- 原始需求:业务方原话
- 约束条件:数据延迟、权限、成本、口径、排期
## 表结构与字段说明
- 涉及哪些表
- 每张表的关键字段
- 字段含义、粒度、更新频率
- 容易误用的字段
## 具体处理过程
- SQL / Python / Spark / Flink 代码示例
- 查询逻辑或任务逻辑
- 中间表和产出表
- 对账和验证方式
## 使用的产品或工具功能
- BI 工具、埋点平台、调度平台、数据开发平台
- 用了哪些具体功能
- 为什么这么用
## 问题处理记录
- 遇到的具体异常
- 如何定位
- 如何处理
- 如何验证修复有效
warning 内容标准
项目库不能只停留在“分析思路正确”。好的项目案例要让读者看到表、字段、代码、工具、问题和处理动作,最好能照着改成自己公司的版本。
每个项目的标准结构
## 项目背景
业务或系统遇到了什么问题?影响范围是什么?
## 需求翻译
这个问题如何翻译成数据工程问题?
## 架构拆解
数据源、传输、计算、存储、服务和监控如何设计?
## 实施过程
具体做了哪些任务、表、脚本、监控和上线动作?
## 问题定位
如何发现问题、定位瓶颈、验证假设?
## 关键产出
数据链路、任务、表、监控、文档、SLA。
## 踩坑与取舍
哪里容易错?方案有什么副作用?
## 简历怎么写
把项目转成简历表达。
## 面试怎么讲
把项目转成 3 分钟项目介绍。
和知识库其他内容的关系
- 数据管道设计:理解数据链路如何设计。
- 实时数据架构概述:实时链路项目的基础。
- 数据开发性能优化概述:优化类项目的通用方法。
- 数据工程师面试指南:把项目转成面试表达。
- 数据工程师简历模板:项目简历化。
内容生产原则
- 项目要从真实问题出发,不从技术名词出发。
- 每个项目都要讲清楚影响范围和约束条件。
- 每个项目都要体现技术取舍,而不是只列组件。
- 每个项目都要有可验证结果。
- 每个项目都要能转化成简历和面试表达。