看链路
把表结构、依赖和分层画成拓扑图,一眼看清上下游,不用死记概念。
table / node / flowsql.sbSQL 是加工工具,不是终点。通过交互实验,看懂一条数据如何经过建模、加工与调度,最后变成可信指标。
source → ODS → DWD → metricorders| order_id | user_id | amount | status |
|---|---|---|---|
| 10001 | U01 | 199 | PAID |
| 10002 | U02 | 399 | PAID |
| 10003 | U01 | 59 | REFUND |
ods_orderods_order保留来源字段和上下文
dwd_orderWHERE status = 'PAID'| order_id | amount | status |
|---|---|---|
| 10001 | 199 | PAID |
| 10002 | 399 | PAID |
| 10003 | 59 | REFUND |
GMVSELECT SUM(amount)
FROM dwd_order;等待 dwd_order
先选一条更接近你现在位置的路径,再回到课程本身。
跟着一笔订单,看业务数据如何逐层加工成可使用的指标。
01 / Source先保存正在发生的业务事实。
3 rows02 / ODS让来源数据有一个可回溯的落点。
3 rows03 / DWDWHERE status = 'PAID',只留下有效订单。
2 valid rows04 / MetricSUM(amount) 把明细聚合成可使用的数字。
¥598把抽象概念放进真实数据流,看清表结构、依赖链路与工程取舍。
把表结构、依赖和分层画成拓扑图,一眼看清上下游,不用死记概念。
table / node / flow点击、播放、调整参数,亲眼看同一行数据在加工过程中如何变化。
click / play / inspect不只教定义,更解释生产系统为什么这么设计,面对变更和故障时怎么权衡。
trade-off / boundary01认识数据仓库为什么有业务系统,还需要数据仓库?可学习02数据建模业务过程:到底要记录哪件事?可学习03指标体系同一个“存款余额”,为什么会有不同答案?可学习04SQL 与数据加工口径已经说清楚,为什么还不能直接算?可学习05调度系统今天凌晨跑的,为什么是昨天的数据?可学习06数据质量任务成功了,数据就可信了吗?可学习07数据血缘这份数据到底从哪里来?可学习08数据治理搜到三张“存款余额”,我到底该用哪张?可学习09湖仓为什么所有数据先进湖,却只有一部分进入仓?可学习10数据服务数据做好了,怎么交给别人用?可学习11性能与工程实践任务变慢了,我们先看哪里?可学习12跨系统分行经营分析数据产品跨系统分行经营分析数据产品可学习13生产实践案例上线当天明明成功了,为什么第二天才失败?可学习14依赖链重做为什么数仓任务成功了,数据仍然是错的?可学习真正理解数据仓库,不是记住每个缩写,而是能回答:这份数据从哪里来,为什么要这样加工?