ETL 框架湖仓一体参考架构
【摘要】 五个数据层:Landing层、Raw层(Parquet)、Stage层(Apache Hudi SCD2)、Presentation层等,基于华为云数据湖探索服务构建可复用ETL管道。
1. 用途和受众
1.1 预期用途
- 指导企业在华为云上构建"湖仓一体"数据底座,以可复用、参数化的 ETL 框架承载多业务域的数据接入、加工、质检与消费。
- 为售前、解决方案设计、数据平台实施与评审提供可重用的湖仓一体架构模式与工程模板。
- 作为企业数据湖(OBS 分层)+ 数据仓库(GaussDB(DWS))融合架构的建设蓝图与交付基础。
- 沉淀统一的元数据目录、编排状态机、质量规则与权限模型,实现"一次构建、多域复用"。
1.2 目标受众
- 数据平台架构师:负责湖仓一体方案设计、ETL 模板开发与数据分层规划
- 数据开发工程师:使用可复用 ETL 框架进行数据加工编排、质量规则配置与调度
- 数据治理与质量工程师:负责数据目录管理、质量监控、血缘追踪与合规治理
- 运维工程师:负责数据平台集群运维、任务监控与故障处理
- 企业客户(数据中台/大数据团队):评估湖仓一体架构,建设可复用数据加工流水线
- ISV 与合作伙伴:基于 ETL 框架进行二次开发、行业模板定制与数据平台运营
2. 参考架构概述
2.1 架构描述
本架构将业界主流云厂商"湖仓一体 + 可复用 ETL 框架"的参考实践(对象存储数据湖、统一元数据目录、参数化 ETL 作业模板、状态机编排、事件驱动触发、内建数据质量、集中权限)完整映射为华为云原生实现:以 OBS 数据湖(原始/标准/应用三层)为统一存储底座,DataArts Studio 承担统一元数据目录、作业编排与数据质量治理,FunctionGraph 以 OBS 对象到达事件驱动编排,DLI(serverless Spark/SQL)与 MRS(大规模批处理)作为可复用 ETL 模板的双执行引擎,加工结果落湖并装载 GaussDB(DWS) 供 DLV 可视化与下游消费;IAM/KMS/CES/SMN/CTS 提供集中权限、加密、监控告警与审计等公共服务。整套框架强调"可复用":参数化 ETL 模板、统一元数据目录、编排状态机、质量规则内置、权限集中。
2.2 业务背景
| 项目 | 描述 |
|---|---|
| 业务问题 | 企业数据分散于业务库、文件与实时流,烟囱式 ETL 脚本重复开发、口径不一;元数据缺失形成数据孤岛;调度靠人工/定时轮询;数据质量无卡点,下游频繁返工;权限分散难以审计 |
| 期望的结果 | 一套可复用 ETL 框架:新数据域"配置即接入";统一目录可查可溯;事件驱动按需运行;质量内建、失败即阻断告警;湖仓一体支撑 BI 与分析消费 |
| 主要用户 | 数据平台团队(开发/治理/运维)、各业务线数据工程师、BI 分析师、数据科学家、下游业务应用 |
| 关键制约因素 | 数据合规要求(加密/审计/权限最小化);峰值数据量与时效性要求;既有业务库与格式兼容;成本预算(serverless 与集群选型) |
| 成功指标 | 新数据域接入周期从周级降至天级;ETL 模板复用率 ≥70%;元数据登记覆盖率 100%;质量问题下游逃逸率显著下降;数据就绪时延(入湖→可消费)持续缩短 |
2.3 架构优点
- 一次构建、多域复用:参数化 ETL 模板库(模板 + 参数替换)配合 DataArts Studio 调度,新任务通过配置复用模板,减少重复开发。
- 统一元数据目录:DataArts Studio 统一采集登记湖仓元数据,单一事实来源,血缘可溯,消除数据孤岛。
- 事件驱动、按需运行:OBS 对象到达事件经 FunctionGraph 触发编排,替代定时轮询,缩短数据就绪时延、节省空转资源。
- 质量内建:数据质量规则与流水线绑定,校验失败阻断下游并经 SMN 告警,保障可消费数据的可信。
- 湖仓一体:OBS 数据湖(原始/标准/应用分层)+ GaussDB(DWS) 数仓,湖的弹性与仓的性能并存,批流统一存储底座。
- Serverless 弹性与成本可控:DLI 免运维按量计费承载常规 Spark/SQL ETL,超大负载弹性切换 MRS 集群,双引擎互补。
- 安全合规集中化:IAM 最小权限 + KMS 服务端加密 + CTS 操作审计,权限与合规策略集中管理。
2.4 设计关注点
| 性能 | 安全 | 可扩展性 | 运维 | 可靠性 |
|---|---|---|---|---|
| 按数据量选引擎(中小规模 DLI、超大负载 MRS);OBS 分区/前缀设计避免热点与海量小文件;GaussDB(DWS) 分布键与装载窗口预规划;事件高峰聚合限流 | KMS 服务端加密与桶策略;IAM 桶/队列级细粒度授权;敏感数据脱敏规则纳入质量层;审计证据留存 | 模板库版本化管理,新业务域增量接入;OBS 容量近无限,DIS/DLI/MRS 规格线性扩展;编排 DAG 支持并行分支与多环境流水线 | DataArts Studio 统一视图管理作业、依赖与重跑;CES 指标 + SMN 告警闭环;质量事件工单化;成本按项目/标签分摊 | 作业失败自动重试与断点重跑;OBS 版本化防误删;关键链路 DLI/MRS 双引擎互备;编排超时与失败告警 |
2.5 典型架构

华为云可复用 ETL 框架湖仓一体架构图
2.6 流程描述
- ① 数据接入入湖:输入为实时流(IoT/日志)、业务数据库与文件数据;DIS 实时接入、CDM 批量迁移、文件直传,统一落 OBS 原始区并保持原始格式;输出为待加工的原始区对象及其到达事件。
- ② 元数据登记入目录:输入为新入湖数据的表/结构信息;DataArts Studio 自动采集 OBS 湖元数据,登记至统一数据目录并管理血缘与权限;输出为可检索、可授权、可溯源的统一元数据。
- ③ 事件触发编排:输入为 OBS 对象到达事件;FunctionGraph 被触发后路由拉起对应的 DataArts Studio 工作流编排(DAG 状态机);输出为该批数据对应的 ETL 流程运行实例。
- ④ 参数化 ETL 模板执行:输入为编排实例与业务参数(批次、源表、目标表等);DataArts Studio 以参数替换方式调度 DLI Spark/SQL(大规模批处理切换 MRS)执行模板作业;输出为加工结果集与作业执行记录。
- ⑤ 数据质量校验与失败告警:输入为 ETL 结果数据;内置质量规则(唯一性、空值率、值域、行数波动等)校验,失败即阻断下游并经 SMN 告警通知责任人;输出为可信交付物,或阻断事件与告警工单。
- ⑥ 结果落标准/应用区与数仓装载:输入为校验通过的数据;清洗标准化数据落 OBS 标准区、应用层汇总落应用区,应用区数据装载至 GaussDB(DWS);输出为湖仓一体的可消费数据资产。
- ⑦ BI 消费与监控审计:输入为标准/应用区与数仓的数据资产;DLV 报表大屏可视化消费,数据科学团队与业务应用(数据服务)各取所需;CES 监控作业与资源指标、SMN 告警、CTS 审计留痕;输出为数据价值交付与运营闭环。
2.7 云服务产品清单
| 分类 | 服务或产品 | 推荐配置 | 官网链接 |
|---|---|---|---|
| 数据湖存储 | Object Storage Service (OBS) | 原始/标准/应用三层分区(桶或前缀);KMS 服务端加密;生命周期与版本化 | OBS |
| 数据接入 | Data Ingestion Service (DIS) | 实时流(IoT/日志)接入,按分区归档至 OBS 原始区 | DIS |
| 数据接入 | Cloud Data Migration (CDM) | 业务数据库/文件定时批量迁移入湖 | CDM |
| 事件驱动 | FunctionGraph | OBS 对象到达事件触发,路由拉起数据开发工作流 | FunctionGraph |
| 编排与治理 | DataArts Studio | 统一元数据目录 + 作业编排 DAG + 参数化模板调度 + 数据质量规则 | DataArts Studio |
| ETL 计算 | Data Lake Insight (DLI) | Serverless Spark/SQL,可复用 ETL 模板主执行引擎,按量计费 | DLI |
| ETL 计算 | MapReduce Service (MRS) | 大规模批处理集群(Spark/Hive),承载超重负载 | MRS |
| 数仓消费 | GaussDB(DWS) | 装载应用区数据,承载 BI 与数据科学分析消费 | GaussDB(DWS) |
| 可视化 | Data Lake Visualization (DLV) | 湖仓一体可视化,报表与大屏 | DLV |
| 身份与权限 | IAM 统一身份认证 | 用户组最小授权,OBS 桶/DLI 队列细粒度权限,开启 MFA | IAM |
| 安全加密 | Key Management Service (KMS) | OBS 服务端加密密钥管理,密钥定期轮换 | KMS |
| 监控 | Cloud Eye Service (CES) | ETL 作业/DLI 队列/DWS 关键指标监控与告警规则 | CES |
| 通知 | Simple Message Notification (SMN) | 失败/延迟/质量事件订阅通知(邮件/短信/即时消息) | SMN |
| 审计 | Cloud Trace Service (CTS) | 云资源与数据平台管理操作跟踪,合规取证留存 | CTS |
3. 参考链接
- 产品文档:
- 实施指南:
- 源代码或 IaC:
- 操作手册:
- 安全性和合规性映射:
4. 使用限制
- ETL 模板的参数规范、版本管理与测试流程需先行约定,否则模板蔓延将推高维护成本。
- 数据质量规则应在任务上线前完成绑定,事后补建卡点代价高且存在漏检窗口。
- 海量小文件高频到达会触发事件风暴,需通过分区聚合与 FunctionGraph 并发/限流策略平滑。
- OBS 分层、生命周期与加密策略需前置规划,投产后迁移与改造成本高。
- DLI/MRS 配额与 CU 资源需按峰值负载评估;serverless 场景冷启动时延会影响首跑时效。
- 本架构为数据平台层的可复用框架,具体业务 ETL 逻辑与数据模型须按业务域另行设计开发。
附录 A. 术语和缩略语
| 术语 | 定义 |
|---|---|
| 湖仓一体 | 数据湖(低成本、多格式、弹性)与数据仓库(高性能分析)融合的一体化架构,统一存储底座、分层治理 |
| 数据湖分层 | OBS 上按加工深度划分:原始区(原样保留)→ 标准区(清洗标准化)→ 应用区(面向场景汇总) |
| ETL | Extract-Transform-Load,数据抽取、转换、装载 |
| 参数化 ETL 模板 | 以参数(批次/源表/目标表等)驱动的可复用作业模板,一次开发、配置化复用 |
| 元数据目录 | 统一登记库表、位置、血缘、权限等元数据的目录服务,是数据"可查、可用、可管"的入口 |
| DAG 编排 | 以有向无环图描述作业依赖与执行顺序的状态机式工作流编排 |
| 数据质量规则 | 唯一性、空值率、值域、行数波动等校验规则,内建于流水线并在失败时阻断/告警 |
| 事件驱动 | 以对象到达等事件触发后续流程,替代定时轮询,按需运行 |
| Serverless | 免集群运维、按实际用量计费的计算形态(如 DLI) |
| DIS | Data Ingestion Service,数据接入服务,承载实时流数据接入 |
| DLI | Data Lake Insight,数据湖探索,Serverless Spark/SQL 分析服务 |
| MRS | MapReduce Service,大数据集群服务(Hadoop/Spark/Hive 生态) |
| GaussDB(DWS) | 华为云分布式数据仓库服务,承载高性能分析消费 |
| DLV | Data Lake Visualization,数据湖可视化服务 |
| FunctionGraph | 华为云函数工作流服务,支持事件触发的无服务器计算 |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)