flowchart LR
W3["Week03<br/>ingest + recovery"] --> W4["Week04<br/>lakehouse state"]
W4 --> W5["Week05<br/>metric assets"]
W5 --> W6["Week06<br/>asset factory"]
W6 --> W7["Week07<br/>parse / normalize"]
W6 --> W8["Week08<br/>retrieval"]
W6 --> W11["Week11<br/>evals"]
W6 --> W14["Week14<br/>governance"]
Week06|作业|提交 Data Factory v1:一张资产图、一次精准回填、一份运行证据、一份可交接 Runbook
把 Week06 收口成一套能交接的数据工厂交付包
这份作业不是提交几张 Dagster UI 截图。
你要交付的是一套可以解释、可以运行、可以回填、可以检查、可以追溯、可以交给另一个同学接手的 Data Factory v1。
这次作业真正要交付什么
Week06 到这里已经把这些判断讲清楚:
- 脚本跑通不等于数据产品可运营
- asset graph 是运行边界,不是装饰图
- partition / backfill 必须基于明确窗口
- checks 和 evidence 决定下游能不能消费
- runbook 是团队交接接口
这次作业要求你把这些内容整理成正式交付包。
建议投入时间
按课程统一节奏完成即可。建议预留 4–6 小时:先补齐工件,再跑一遍 evidence / checks 验证,最后写 week06_delivery_summary.md。
最终必交工件
| 类型 | 必交文件 | 作用 |
|---|---|---|
| Blueprint | docs/blueprints/week06/week06-data-factory-blueprint.md |
说明 Week06 的边界和总体方案 |
| Asset graph | docs/blueprints/week06/week06-asset-graph.md |
记录 asset key、依赖、group、optional 节点 |
| Partition strategy | docs/blueprints/week06/week06-partition-backfill-strategy.md |
说明 daily partition 与 replay/backfill 边界 |
| Evidence schema | contracts/run_evidence/week06_run_evidence.schema.json |
定义运行证据 required / optional 字段 |
| Backfill record | reports/week06/backfill/*.json |
记录一次精准回填或 dry-run plan |
| Checks summary | reports/week06/asset_checks_summary.md |
汇总 5 类 checks 结果 |
| Run evidence | reports/week06/run_evidence/*.json |
记录运行事实与下游决策 |
| Runbook | runbooks/week06-data-factory.md |
让团队能照着定位、补数、验证和交接 |
| Summary | reports/week06/week06_delivery_summary.md |
收口最终判断、限制和下一步 |
Week06 在项目里的位置
评分边界
Important不要把 Week06 做成平台秀
这次作业不要求:
- Dagster+ 专有功能
- 完整 dynamic / multi partitions
- OpenLineage / OpenMetadata / lakeFS 平台
- Week07 文档解析
- Week08 RAG indexing
- Week10 tool / HITL 主实现
它要求的是:
在当前项目结构里交付一个最小但真实的数据工厂运行边界。
评分 Rubric
| 维度 | 高质量交付 | 常见扣分点 |
|---|---|---|
| asset graph 清晰度 | asset key、group、owner、upstream/downstream、optional 节点都能解释 | 只有截图,没有资产卡或依赖说明 |
| partition / backfill 边界 | 默认 daily partition 清楚,能解释 2026-04-17 的 dry-run plan |
一失败就全量重跑,没有 partition window |
| checks 覆盖 | 至少 5 类 checks 有结果或明确 reason code | 只说“跑过”,没有验收结果 |
| evidence 完整性 | JSON schema 通过,Markdown summary 能给人读 | 证据字段缺失、路径不存在、optional fake passed |
| runbook 可交接性 | 另一个同学能按 UI / CLI 两条路径恢复 | 作者本人懂,别人无法操作 |
| 后续周衔接 | 写清 Week07 / Week08 / Week11 / Week14 消费什么证据 | 抢跑解析、RAG 或治理平台主实现 |
完成标准
- asset graph 命名清楚,使用
week06/*或等价 namespace。 - source observation 与 core materialization job 边界清楚。
- daily partition strategy 写清楚,不默认全量重跑。
- backfill / replay 演示有 plan、reason code 和结果记录。
- 至少 5 类 asset checks 有结果或可执行设计。
- run evidence schema 区分 required / optional。
- Week04 / Week05 未启用时写 skipped,不 fake passed。
- runbook 能让另一个人照着完成定位和补数。
不接受的作业类型
- 只有 Dagster UI 截图,没有 artifact 路径。
- 只有文字总结,没有 backfill plan、checks、run evidence。
- 没有
contracts/run_evidence/week06_run_evidence.schema.json或 schema 不可校验。 - Week04 / Week05 没跑却写成
passed。 - 抢跑 Week07 解析、Week08 RAG、Week10 tool / HITL 或 Week14 完整治理平台。
- runbook 只写“重跑一下”,没有判断树和验收点。
建议交付结构
docs/blueprints/week06/
week06-data-factory-blueprint.md
week06-asset-graph.md
week06-partition-backfill-strategy.md
week06-run-evidence-spec.md
contracts/run_evidence/
week06_run_evidence.schema.json
runbooks/
week06-data-factory.md
reports/week06/
backfill/
run_evidence/
asset_checks_summary.md
week06_delivery_summary.md
week06_delivery_summary.md 最少回答什么
- 这次 Data Factory v1 覆盖哪些 assets
- 哪些 assets 是 materializable,哪些是 optional / external
- 默认 partition strategy 是什么
- 演示了哪个 failed / missing partition
- 选择 retry / replay / backfill 的原因是什么
- checks 结果是什么
- run evidence 路径是什么
- 下游是否允许继续消费
- 哪些能力留给 Week07 / Week08 / Week11 / Week14
建议模板:
# Week06 Delivery Summary
## 1. Assets Covered
- core materializable assets:
- external / optional assets:
## 2. Partition and Backfill Decision
- default partition:
- gap reason:
- selected action:
- idempotency guard:
## 3. Checks and Evidence
- checks summary path:
- run evidence path:
- downstream decision:
## 4. Known Limitations
- Week04 optional state:
- Week05 optional state:
- deferred to later weeks:优秀 / 合格 / 不合格样例
| 等级 | 表现 |
|---|---|
| 优秀 | 有完整 asset card、dry-run plan、5 类 checks、schema-valid evidence、可执行 runbook,并写清 downstream unblock / hold |
| 合格 | 核心资产图、partition strategy、checks 和 evidence 基本完整,optional 状态诚实记录 |
| 不合格 | 只有截图或文字说明,缺少 evidence / runbook,或把未启用依赖写成 passed |
加分项
- 给 asset graph 增加 owner、domain、sensitivity、freshness 字段。
- 补一个 source observation job 与 core materialization job 的对比说明。
- 为 Week04 lakehouse 和 Week05 semantic mart 写清 optional observation 逻辑。
- 给 recovery decision tree 增加实际 case。
- 把 evidence summary 同步到 runbook 的 operator checklist。
最后的收尾判断
如果只记住一句话,就记这句:
Week06 交付的不是“我会点 Dagster”,而是一套能让数据链路被团队运营、补数、检查和交接的资产化系统。