ETL 数据管道
入门预计上手 2-4 周星团 数据
岗位需求
1 核心 · 0 加分
在职岗位将其列为技能要求
核心岗位薪资带
18k-40k
核心要求岗位的月薪区间
需求趋势
上升 0稳定 1收缩 0
核心要求岗位的趋势分布
面试题库
高频真题 · 参考答案随题展开1. ETL 与 ELT 有什么区别?
ETL 是先抽取再转换后加载:数据在管道层(Spark 作业、Airflow 任务、Kettle)清洗转换成目标模型后写入仓库,转换算力在管道侧,历史主导模式,适合复杂规则、敏感数据脱敏要在入仓前完成、以及目标端计算昂贵的场景。ELT 是先加载后转换:原始数据尽快原样落进数仓或湖仓(对象存储加表格式),再用仓库引擎(Snowflake、BigQuery、ClickHouse、Doris)或 dbt 在库内做转换建模,优点是原始数据全量保留可重算、开发迭代快(SQL 写转换)、利用仓库弹性算力、链路简单。现代趋势是 ELT 加 dbt:测试与血缘内建。选择参考:云数仓成熟团队走 ELT,传统自建仓库、强合规前置清洗、异构目标端仍用 ETL。答出转换发生位置与数据保留策略两条主线即可。
2. Airflow 的调度模型是怎样的?如何设计 DAG?
核心概念:DAG 是任务依赖的有向无环图,Task 是具体执行单元(Operator 加 sensor),调度器按 schedule 扫描解析 DAG 文件,到数据间隔(data interval)结束后把 DAG Run 与 Task Instance 创建出来,依赖满足即进队列由 executor(LocalExecutor、CeleryExecutor、KubernetesExecutor)执行。两个高频误区必须讲清:schedule 的 cron 或 timedelta 定义的是数据间隔而非触发时刻,interval 结束才跑,timedelta 一天表示每天零点到次日零点的数据在次日零点处理;catchup 控制回填,历史积压要注意设计。设计规范:任务幂等且可重跑(同 interval 重跑结果一致)、按业务依赖而非时间先后连线、用传感器或 deferrable 等外部就绪、大任务拆小利于重试与并行、Pool 控制并发保护下游、变量与连接用连接池而非明文。能讲 data interval 与幂等即满分。
3. 增量抽取有哪些策略?各有什么坑?
时间戳水位:源表维护 updated_at,每次抽取 where 更新时间大于上次水位,实现简单;坑是无 updated_at、同秒边界丢数(用大于等于加上去重或主键对账)、物理删除感知不到(软删或对账补)、业务往回改历史数据超出水位窗口。CDC 变更数据捕获:订阅数据库 binlog 或 WAL(Debezium、Flink CDC、Canal)拿到插入、更新、删除事件流,准实时且不漏物理删除;坑是有序性(按表与主键分区保序)、schema 变更兼容、初始化快照加增量衔接、断点 offset 管理。触发器与日志表侵入业务一般不用。对比全量抽取(小维表每天快照)简单粗暴。回答主线:按源系统有无可靠变更痕迹选型,水位配对账兜底,CDC 配幂等消费(按主键 upsert),并提迟到数据窗口关闭策略。
4. 数据管道的质量校验怎么做?
分层校验。接入层:结构检查(schema 兼容、字段类型与空值率)、体积检查(行数环比波动超阈值告警,节假日系数修正)。管道内:schema 约束与数据质量断言(主键唯一、非空、枚举域、外键引用、值域与正则)、业务规则校验(订单金额非负、日期先后、金额勾稽平衡),工具上 Great Expectations、dbt test、Soda 把断言写成声明式测试随管道执行。出口层:指标级对账(源与目标计数、金额求和差值小于阈值)、上游血缘传播的告警(上游失败自动挂起下游避免污染)。治理机制:质量门禁(不达标阻断发布或进隔离区)、告警分级与值班、失败重跑不掩盖问题(重跑要留因)。答出「断言左移到管道内、门禁与血缘联动」并举例金额对账即优秀。
5. dbt 在现代数据栈中的角色是什么?
dbt 把软件工程实践带进 SQL 转换层:分析工程师在 Git 仓库写 select 模型,dbt 编译成仓库引擎执行的 SQL,管理依赖(ref 函数自动建 DAG)、物化策略(表、视图、增量、物化视图按场景选)、测试(schema 加自定义断言,唯一非空引用)、文档与血缘自动生成。核心价值:转换逻辑版本化可评审、可测试可复跑, Analyst 写 SQL 也能工程协作,指标口径在模型层收敛。分层建模惯例:staging 轻清洗与标准化命名、intermediate 中间加工、marts 按业务域出宽表与指标,增量模型配 unique_key 与水位。局限是只在库内转换(ELT 前提)、重度依赖目标仓能力。答出 ref 与增量物化、分层三层结构即完整。
官方文档
2 条工作流编排标杆文档,调度、回填与最佳实践齐全
- dbt 官方文档EN
转换层事实标准,SQL 工程化与测试的权威手册
推荐教程
1 条Airflow 咨询公司出品的实战指南集,踩坑经验浓缩
推荐课程
1 条数据清洗与处理免费短课,在线环境即开即练
上手实践
1 条海量真实数据集,练管道拿脏数据最合适
难度档决定星等与难度分权重(入门 1 / 进阶 2 / 精通 3);学习资源由编辑部遴选并持续维护, 经验心得欢迎在上方「知识分享」区署名分享。

