结构 · 2026 年 5 月 6 日 · 9 分钟
表以外的文档:数仓说明、指标页、方言手册
只看 CREATE TABLE,会漏掉一半真相。数仓分层说明告诉你该不该查明细。指标页告诉你官方计算。方言手册告诉你日期函数怎么写。问数把这些当成结构的一部分,不当成「有空再看的 wiki」。
分层
ODS、DWD、DWS 不是装饰。问经营结果,优先汇总层;对账找原因,再下钻明细。
指标页
和语义层是亲戚。页上没有的指标,不要用明细临时发明。
方言
DATE_TRUNC 和 DATE_FORMAT 不是同一句话。手册不在手边,就不要写相对时间。
一次完整的问法可以先写成下面这样:
按仓库文档,经营日报应查 dws_order_day,而不是直接扫 ods_orders。
落到语句上,草稿常常是:
SELECT dt, city, gmv
FROM dws_order_day
WHERE dt = CURRENT_DATE - INTERVAL '1 day';
文档是结构的散文部分。不读散文,只读字段,会在正确的列上问错层。
结构是地图,不是附录
公开实现文章把列出表、描述字段、抽样行、再执行写成四件工具。工具顺序不能倒。执行放第一位,等于闭眼过马路。
结构链接的失败,十之八九不是语法。是找错表、找错列、找错枚举值。注释、别名、示例值,是地图上的注记。注记质量决定问数上限。有人只补三十个核心字段的含义,可用程度就明显上升。这是最不时髦、也最管用的工作。
语义层是把指标、维度、关联路径写成中间层。个人没有引擎时,用字典和卡片冒充。没有这一层,每次提问都在重新发明销售额。宽表好问、星型好管,选边可以,口径必须唯一。
读完这一辑可以做什么
给十个核心字段写注释:时间、金额、状态、用户、地区、类目,外加四个你会用到的。注释里写计算、单位、示例值。写完再去问数,少猜一轮。
问经营结果却查明细层,是在正确的列上问错层。