附表全景图目录
一张图看完:从"别人家的脏水"到"你手机上的报表",中间要过几道手。
把整条数据中台想成一座自来水厂。左边是各条河(业务系统),中间是四级净水池,右边是城市管网和水龙头。厂门口有个总水闸,厂里有个值班室,墙上挂满压力表。
水只会往下流:上面是来源,下面是成品 ① 河水 · 业务源系统 Oracle / SQLServer:CMS · EBS · BMS 脏、乱、口径各算各的,还可能断流 DataX / CDM / CDL 抽水 SDI 贴源层 · 沉淀池 gk{公司}_{系统}_{类型},例 gksd_cms_dis6 泥沙俱下,只清洗不加工,用来倒查源头 Spark SQL 粗滤 DWI 明细层 · 粗滤池 dwi_gk_hudi.dwi_* 一行一笔业务 统一字段名、打主数据、套汇率税率 套业务规则 DWR 汇总明细 · 精滤池 dwr_gk_hudi.dwr_* 按业务键收敛 「只算已释放/未删除」这类口径在这落 聚合 DWS 汇总层 · 配料罐 dm_gk_dws / dws_* 按主题·月·组织 行数一下少几个量级,是下游的"输入" 按场景出配方 ③ DM / ADS 应用层 · 灌装线 dm_gk_hudi.ads_* 一个场景一张表 例 ads_tsp_inv_risk_goods_top50 SeaTunnel 主干管 ④ Doris 数仓 · 城市管网 dm_gk_dws.ads_* 分区·分桶·副本 3 它只负责"快",账本不在这 开龙头 ⑤ 水龙头 · 报表与页面 帆软 FineReport · Superset · adhoc 业务只看数字,看不见下面四级水池 ② 贯穿全链条的四个公共岗位 总水闸 Kyuubi(.50 / .236 办公,.100 VPN) 值班室 海豚 DolphinScheduler 门禁 Ranger 仪表 Prometheus + Grafana 听诊器 Compass 预制件工厂:建表平台 · 数工坊 · ETL 代码工具 业务只交一张 Mapping,剩下全自动(第 09 关)

怎么读这张图

  1. 从上往下看:水只会往下流。你在页面看到的任何数字,都能顺着这条线一路倒查回某个源系统的一张表——这就是"血缘"。
  2. 越往下越贵:SDI 存全量原始数据最便宜,ADS 里一张场景表最贵(要跑 Spark、要占 Doris 空间、要人维护)。所以中间层要"越走越少"。
  3. 中间四个公共岗位(②)不属于任何一层:Kyuubi 是所有层共用的门,海豚管所有层的开工时间,Ranger 管所有层的门禁,仪表盘看所有层。
  4. 最底下的预制件工厂不在数据流上,但它决定了这厂子能不能一年建几十张表而不靠人海——第 09 关专讲。

图上没写全的三类细节

🧩 每一层到底存了什么
层一句话典型表名
SDI和源库长得几乎一样,只加几个技术字段gksd_cms_dis6.*
DWI合并多源、统一字段、打码打主数据dwi_gk_hudi.dwi_sad_se_sale_outb_ord_line
DWR按业务主键收敛,业务规则在这落dwr_gk_hudi.dwr_*
DWS按主题×月×组织汇总dm_gk_dws.ads_supp_vendor_pur_sale_invt_summ
ADS一个页面/场景一张,字段就是页面字段dm_gk_hudi.ads_sad_se_jx_dtl
最容易被误解的一点很多人以为 Doris 是"主库",其实它只是供水末端的加压站:真正的原始账本在湖里(Hudi),Doris 里是可以随时重建的一份快照。所以湖和仓对不上时,先信湖、再查同步,别反过来。
记住一句这条链上每段只干一件事:搬、洗、配、装、送、喝。谁越界干活(让 Doris 直连源库、让页面自己算口径),后面一定出事。