这一页是"翻译器":左边是他们嘴里说的,右边是你脑子里该出现的画面。
看报表的人听不懂机房的话,机房的人也不用懂业务口径——中间这层翻译,就是这张表。
一、整条链路的角色
| 行话 | 大白话(脑子里该出现的画面) | 你会在哪遇到 |
数据中台 | 一座自来水厂:把各条河的水收进来、洗干净、灌瓶、送到城里 | 所有会议 |
数据湖 | 厂里的蓄水池,什么水都先倒进来,还没分类 | HDFS 上的 Hudi/Hive 表 |
数仓 | 已经灌好瓶、贴好标签、摆在货架上的成品区 | Doris |
湖仓一体 | 蓄水池和成品货架连着一条自动线,不用人搬 | 架构讨论 |
入湖 | 把河水引进厂(把业务系统的数据搬到湖里) | DataX / CDM / CDL |
出湖 / 同步 | 把湖里的成品送进城市管网 | SeaTunnel |
供数 | 给下游(报表、页面、别人家的系统)开水龙头 | Doris 表、接口 |
二、分层:四级净水池
| 行话 | 大白话 | 真名长什么样 |
SDI / 贴源层 | 沉淀池:泥沙俱下,原样存,只做"对账找源头" | gksd_cms_dis6(gk+公司+系统+类型) |
DWI / 明细层 | 粗滤池:一行一笔业务,字段名统一、主数据打好 | dwi_gk_hudi.dwi_* |
DWR / 汇总明细 | 精滤池:按业务键把该合的合了,业务规则在这落 | dwr_gk_hudi.dwr_* |
DWS / 汇总层 | 配料罐:按主题/月/组织汇总,行数一下少几个量级 | dm_gk_dws.*、dws_* |
DM / ADS / 应用层 | 灌装线:一个场景一张表,页面直接喝 | dm_gk_hudi.ads_* |
_mid 中间表 | 同一车间的半成品台,跟成品同层,名字后面挂 _mid | ads_xxx_mid |
tmp_ 临时表 | 一次性纸杯,用完就扔,命名要带人名字缩写和日期 | tmp_xlq_dim_system_code_1120 |
三、组件:厂里的七件家什
| 行话 | 大白话 | 一句话职责 |
HDFS | 仓库地板 | 所有表文件真正躺着的地方 |
YARN | 水电调度 | 谁先用机器、用多少核多少内存 |
Spark | 加工机器 | 真正干活算数的 |
Hive Metastore | 户口本 | 记着"有哪些表、字段叫什么" |
Hudi | 能改字的活页账本 | 能改一行(upsert)、只看新改的(增量)、能翻旧版本 |
Kyuubi | 总水闸 / 统一插座 | 所有 SQL 都从这里进,jdbc:kyuubi://…:10009 |
Ranger + Kerberos | 门禁 + 工牌 | 谁能看哪张表 |
Datasophon | 装修队 | 组件一键部署运维 |
Compass | 听诊器 | 集群/任务出毛病时诊断用 |
Doris | 城市管网 + 加压站 | 对外供数,只负责"快",账本不在这 |
SeaTunnel | 主干管 | 湖 → 仓 的输送管 |
DataX | 抽水泵 | 源库 → 湖 的输送 |
CDM / CDL / DRS | 三型抽水机 | 批量 / 实时 / Oracle 专用前置 |
四、调度:值班室里的词
| 行话 | 大白话 | 说明 |
DolphinScheduler / 海豚 | 值班室 + 时刻表 | 几点开哪台泵、谁先谁后 |
| 项目 / project | 一个独立的厂区 | 生产 BI_PRD 148405435832576、测试 BI_SIT 149223761565792 |
| 工作流 / process-definition | 一条生产线 | 由若干节点串成一张图 |
| 实例 / instance | 某天这条线真的跑了一次 | 有开始结束时间、有日志 |
| 节点 / task | 线上的一个工位 | SQL / SHELL / SUB_PROCESS / DATAX / SEATUNNEL |
| 依赖 / relation | 谁必须在谁前面干完 | 画在 DAG 上的箭头 |
| 补数 / 回刷 | 把过去某几天重跑一遍 | 要按 biz_date 指定 |
release / ONLINE | 这条线正式投产,允许按时刻表自己跑 | 发布要管理员权限 |
OFFLINE | 草稿状态,只能手动点,不会自己跑 | 先 OFFLINE 验,再上线 |
五、参数与开关(最容易被问住的几个)
| 行话 | 大白话 | 搞错的后果 |
biz_date | "这次算哪一天的业务" | 算错一天 = 数字全歪,还要背锅重刷 |
partition_key | 货架上的格口编号(按天/按月) | 写错格口 = 覆盖别人数据 |
system_code | 这批数据属于哪个公司/系统 | 混了就会"跨公司串数" |
hoodie_event_time | 活页账本上"这页是几点写的" | Hudi 去重、增量的判据,错了会丢最新版 |
subdomain tag | 你的专属闸口编号 | 不带 tag 会被平台直接 KILL |
INSERT OVERWRITE | 把这一格的水整桶换掉 | 同一张表拆并行 = 互相覆盖 |
DUPLICATE KEY | Doris 里"按这几列排序存",不保证唯一 | 以为它去重 → 数字翻倍 |
| 副本 3 | 同一份数据存三份 | 少一份 = 机器坏一台就缺数据 |
六、状态词(看到这些别慌)
| 状态 | 人话 |
RUNNING_EXECUTION | 正在跑,别急也别连点两次 |
SUCCESS | 这条线跑完了——不等于数据对,还要验数 |
FAILED | 挂了,看日志最后一屏的报错行 |
KILLED | 被停掉(人停的或平台停的),不是自己失败 |
WAITING | 上游还没干完,它在排队 |
OperationTimeoutException / operation-heartbeat-timeout | SeaTunnel 的"心跳停了",多半重跑就好(历史失败的主因) |
用法开会时听到一个没听过的词,先在这页搜;搜不到就当场问"它对应哪张表、哪条链",比点头有用。
一个反常识SUCCESS 只说明"程序没报错",不说明"数对"。真正的验收要拿湖里的数和仓里的数、页面上的数三方对一遍——第 10 关讲怎么对。