随笔记录
大数据-ETL
2026-8-24 diaba


ETL = Extract‑Transform‑Load,抽取 (Extract)、转换 (Transform)、加载 (Load),是数据仓库、大数据领域最基础的数据处理流程。



拆解含义




  1. Extract 抽取 从各个源系统把数据读出来。




源可以:业务 MySQL 库、日志文件、接口、Hive 表、第三方数据源。
例:把信贷业务库的借款表、还款流水同步抽取出来。





  1. Transform 转换(最核心) 对原始数据做清洗、加工、计算、归一化。
    常见处理:





  1. Load 加载 把加工完成的数据写入目标存储。




目标:Hive 数仓、ClickHouse、业务库、报表库。





传统 ETL 顺序:先抽取 → 转换 → 加载。




ELT 和 ETL 的区别





简单记:
ETL:转换之后再入库;
ELT:先进库,再在库里面做转换。




信贷行业实际例子(ETL 完整链路)




  1. Extract:从业务 MySQL 抽取借款订单、还款流水、用户信息。


  2. Load:原样导入 Hive ods 层(原始数据层)。


  3. Transform:使用 HiveQL 做清洗、去重、关联,计算:用户多头、额度使用率、历史逾期次数等风控特征。


  4. Load:加工结果写入 dws 特征宽表层,供风控模型、报表使用。




这一套属于 ELT 模式,大数据数仓最常见。




ETL 常见工具




ETL 的分层概念(数仓分层 ODS / DWD / DWS / ADS)




  1. ODS 原始数据层:几乎原样保留源数据,不做过多加工(Extract+Load)


  2. DWD 明细层:清洗、过滤脏数据,明细粒度数据(Transform)


  3. DWS 汇总 / 宽表层:按用户、业务维度聚合,生成宽表(Transform)


  4. ADS 应用层:报表、指标、模型特征,直接给业务使用(Load 输出)



常见坑点




  1. ETL 时间窗口:信贷系统大量日切后跑 T+1 ETL 任务;任务依赖、超时、数据延迟会导致报表、特征不准。


  2. 数据一致性:源库更新,ETL 同步是否丢失变更;增量同步 vs 全量同步。


  3. 脏数据:源系统存在 null、异常字符串,ETL 阶段没有清洗,后续模型、报表出错。


  4. 调度依赖:任务 A 没跑完,任务 B 就启动,产出错误数据。



一句话速记



ETL 是抽取、转换、加载的数据处理流程;
ETL 转换在入库前,ELT 先入库再做转换;Hive 数仓大多是 ELT 模式;信贷场景用来同步业务数据,加工风控特征、报表指标。

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容