未记录事实核验 · 状态:现行内容

记录仅说明核验时间与维护状态,不保证适用于所有环境;使用前请留意正文中的版本、适用条件与风险提示。

数据开发项目库导览

abstract 📋 这个项目库解决什么问题

数据开发工程师最容易学成“组件说明书”:Spark 会一点,Kafka 会一点,Flink 会一点,但一到真实项目,就不知道如何从业务需求拆到数据链路、任务设计、稳定性保障和上线交付。这个项目库就是用具体项目,把数据开发工作从需求到产出的全过程拆开讲。

项目库定位

数据开发项目库重点讲四件事:

  • 业务方或上游系统到底提出了什么问题;
  • 数据开发如何把问题翻译成链路、表、任务和服务;
  • 架构设计时如何做取舍;
  • 线上出问题时如何定位、恢复、复盘和沉淀。

tip 一句话理解

这里不是背 Spark、Kafka、Flink 的知识点,而是讲这些技术在真实数据工程项目里如何被组织起来解决问题。

当前项目列表

实时链路与稳定性

数仓建设与治理

用户域与数据资产

  • 用户统一 ID 建设项目:从跨端用户身份不一致出发,建设 ID Mapping、OneID 实体、合并规则和冲突治理流程。

数据服务与指标平台

后续计划

  • 数据血缘与影响分析项目
  • 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 分钟项目介绍。

和知识库其他内容的关系

内容生产原则

  1. 项目要从真实问题出发,不从技术名词出发。
  2. 每个项目都要讲清楚影响范围和约束条件。
  3. 每个项目都要体现技术取舍,而不是只列组件。
  4. 每个项目都要有可验证结果。
  5. 每个项目都要能转化成简历和面试表达。