数据仓库
进阶预计进阶 2-3 个月星团 数据
岗位需求
1 核心 · 0 加分
在职岗位将其列为技能要求
核心岗位薪资带
18k-40k
核心要求岗位的月薪区间
需求趋势
上升 0稳定 1收缩 0
核心要求岗位的趋势分布
面试题库
高频真题 · 参考答案随题展开1. 数仓分层(ODS、DWD、DWS、ADS)为什么必要?
ODS 贴源层原样或轻清洗保留明细,与源系统结构对齐,屏蔽上游变动影响;DWD 明细层做清洗、标准化与一致性对齐(统一编码、去重、补维度外键),沉淀业务过程粒度的事实明细;DWS 汇总层按主题与常用维度预聚合(公共粒度的轻度汇总表),避免每个应用重复从明细算;ADS 应用层面向报表、标签与接口输出个性化结果。分层的价值:复用——公共逻辑沉淀一次多处引用,口径统一;解耦——下游不直连源表,源变更只改到 DWD 的映射;性能——预聚合换查询速度,控制重复计算成本;血缘清晰——问题定位与影响分析有明确链路;历史管理——各层保留策略与回刷边界清楚。反例是所有逻辑堆一层 SQL 千行嵌套,任何口径改动全量重跑。能结合一例(订单主题从 ODS 到 ADS)讲清即佳。
2. 维度建模的事实表与维度表如何设计?
星型模式是主流:中央事实表存业务过程的度量与外键,周围维度表存描述性属性。事实表设计要点:粒度先行——先声明一行代表什么(一次支付、一个订单商品),粒度定了列就定了;度量分可加(金额、数量,任意维度累加有效)、半可加(余额,时间不可加)、不可加(比率,需先加分子分母再除),事实表存原始可加值,比率在应用层算。事实分三类:事务事实记事件、周期快照记间隔状态(日余额)、累积快照记流程里程碑(下单到发货各时间点)。维度表要点:代理键、缓慢变化维(SCD)类型——类型一覆盖改错、类型二加行保留历史(生效失效区间)、类型三加列存上一版本;维度退化(订单号放事实表)、杂项维度(一堆标志位合成)、一致性维度(多事实表共享同一维度定义,支撑钻取与跨主题)。能讲粒度、SCD 二、一致性维度三点即优秀。
3. OLAP 的列式存储为什么适合分析查询?
分析查询只取宽表中少数列但扫大量行。列存按列连续存放:只读涉及的列,IO 量骤降(百列表查三列只扫百分之三数据);同列数据类型与模式一致,压缩率极高(字典、游程、位图编码,重复值与排序后更佳),进一步减少磁盘与网络;向量化执行按批处理列数据,CPU 缓存友好并可 SIMD 加速;列统计信息(min、max、count、稀疏索引)支持 zone map 裁剪,跳过不满足过滤条件的数据块。代价:单行读写要重组多列,点查与高频小事务更新弱于行存,因此列存适合批量追加加不可变文件的 OLAP 场景,更新靠 delete 加 insert 标记或 merge-on-read。排序键与分区键设计决定裁剪效率,数据分布要配合查询模式。能对比行存讲 IO、压缩、向量化三点并说明写入取舍即完整。
4. 什么是湖仓一体(Lakehouse)?
传统两套体系各有所长:数据湖(对象存储加开放格式如 Parquet)便宜、存任意格式与规模,但无事务、质量差、性能弱,只能做原始落地;数仓(Snowflake、ClickHouse、Doris)治理与性能好但贵、数据锁定、开放性差,且湖仓间来回搬运形成冗余与一致性难题。湖仓一体在湖之上加表格式层(Iceberg、Delta Lake、Hudi)实现:ACID 事务与并发写隔离、schema 演进与分区演进、时间旅行与回滚、文件级统计加速查询、行级删除更新;计算引擎(Spark、Trino、Flink、Doris)直接读湖上数据,一套存储支撑 BI 与 AI 负载,省去同步链路。工程现状常是混合:热数据进仓保低延迟,冷与历史沉淀湖上,统一目录与权限治理。能讲表格式解决了湖的什么缺陷即达标。
5. 数据仓库中的缓慢变化维(SCD)如何处理?
维度属性会变(客户从 A 城迁到 B 城),处理方式决定历史口径。类型一直接覆盖:不保留历史,报表永远用最新值,适合修错与无关紧要的展示属性;类型二加新行:旧行关闭(失效时间)插入新行,每版本有代理键,事实表外键关联到发生时点的版本,历史报表稳定重现——主流选择,代价是维度表膨胀与下游要处理版本区间(当前视图用 is_current 过滤);类型三加列:原值列加现值列,只保留一次变化,适合偶尔需要对比前后的人力资源类场景;类型四拆微型维度:频繁变化的属性(年龄带、消费等级)拆成独立维防止爆炸;类型六混合(一加二加三)结合覆盖与历史。实现上现代 dbt 快照(snapshot)与数仓 merge 自动维护类型二。关键考点是事实表关联代理键而非自然键,保证时间旅行正确。
官方文档
2 条列式 OLAP 引擎标杆手册,表引擎与性能调优详尽
国产高性能实时数仓,中文文档与社区友好
推荐教程
1 条现代数据栈的最佳实践集,分层建模与治理规范
推荐课程
1 条官方免费认证课程,动手搭一套转换项目
上手实践
1 条官方源码与示例数据集,playground 级上手体验
难度档决定星等与难度分权重(入门 1 / 进阶 2 / 精通 3);学习资源由编辑部遴选并持续维护, 经验心得欢迎在上方「知识分享」区署名分享。

