ETL 数据管道

入门预计上手 2-4 周

星团 数据

学习定位零前置,可直接入门→ ETL 数据管道 →数据仓库

岗位需求

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 与增量物化、分层三层结构即完整。

🔒 解锁完整面试题库与参考答案(Pro)

含高频追问与作答要点,系统准备面试。

官方文档

2 条

推荐教程

1 条

推荐课程

1 条

上手实践

1 条

🔒 完整前置链分析 + 逐岗位引用明细

本页已免费展示学习定位与市场聚合;Pro 深读补齐完整前置依赖链分析与逐岗位引用明细 (核心/加分与深度档、岗位画像)。

知识分享

社区经验 · 管理员审核后展示

暂无分享——第一个来聊聊你的经验和踩坑吧。

有经验想分享?登录后可提交你的知识分享,管理员审核通过后将署名展示。

难度档决定星等与难度分权重(入门 1 / 进阶 2 / 精通 3);学习资源由编辑部遴选并持续维护, 经验心得欢迎在上方「知识分享」区署名分享。