ETL存储过程面试题及详细答案(实战接地气版).docxVIP

  • 1
  • 0
  • 约4.3千字
  • 约 7页
  • 2026-06-08 发布于河北
  • 举报

ETL存储过程面试题及详细答案(实战接地气版).docx

ETL存储过程面试题及详细答案(实战接地气版)

一、基础认知类(入门必问)

1、工作中为什么要用存储过程做ETL,而不是直接写SQL脚本跑?

参考答案:

我日常做数仓ETL,优先用存储过程主要是适配批量、定时、复杂链路的场景,优势很实际:

第一,逻辑封装性好。一整套ETL流程,比如抽数、清洗、转换、聚合、落表、删冗余数据,全部封装在一个存储过程里,不用零散执行多条SQL,版本统一、逻辑清晰,新人接手也能快速看懂流程。

第二,执行效率更高。存储过程是预编译的,首次编译后后续直接调用,不用每次执行都解析语法、生成执行计划。尤其是每日全量、增量跑批的ETL任务,重复执行的场景下,性能优势很明显。

第三,方便调度和运维。调度工具(DataStage、Kettle、Airflow、自研调度平台)可以直接调用存储过程,传参执行,不用拼接冗长SQL。同时方便统一加日志、加异常捕获、加事务,出问题能快速定位。

第四,权限管控更安全。业务人员、调度账号只需要调用存储过程的权限,不需要原始表的增删改查权限,能规避误操作改表、删数据的风险。

简单SQL单次查询我会直接写脚本,但是周期性、批量、多步骤的ETL跑批任务,必须用存储过程。

2、ETL存储过程和普通业务存储过程,最大的区别是什么?

参考答案:

核心区别是设计目标和数据口径逻辑完全不同:

业务存储过程主要服务前台业务,核心是增删改实时数据、保证

文档评论(0)

1亿VIP精品文档

相关文档