📌 面试官为什么爱问 ETL 与调度?
ETL 与调度是数据链路的“输血管道”,它的设计直接决定了数据处理的稳定性、扩展性与时效性。面试中此类问题侧重考察:
-
数据流设计是否合理
-
对任务依赖与失败容错的认知
-
是否具备复杂调度 DAG 设计经验
-
是否理解增量/全量策略、分区机制、资源优化
🧠 高频面试题 & 答案解析
1. 你们项目中的 ETL 处理链路是如何设计的?
✅ 回答参考(分层清晰、组件说明):
我们采用分层式数据架构设计:
-
采集层:从 MySQL、MongoDB、Kafka 等源通过 Flink/Sqoop/NiFi 实时或离线采集数据到 ODS
-
ODS 层:保留原始字段,一般为分区表(按日期)
-
DWD 层:通过 Spark 进行清洗、字段解析、主键提取、标准化映射
-
DWS 层:业务汇总、主题聚合,通常按天维度
-
ADS 层:写入宽表供报表/接口使用
任务调度采用 DolphinScheduler,使用 Shell/SQL/Spark/Flink 任务组件,配置依赖、重跑策略。