DLI“湖仓一体”
大数据分析技术的发展经历了数据库、数据仓库和数据湖分析三个时代。
最初是关系型数据库,强调实时事务处理能力,主要负责联机事务处理,也提供基本的数据分析能力。
随着数据量的逐步增长,数据仓库的需求日益突出,它存储的是经过清洗、加工以及建模后的高价值的数据,供业务人员进行数据分析。
但前两者主要分析和处理结构化数据,无法处理非结构化数据。为了满足企业对非结构化数据的存储、管理和再加工的需求,“湖仓一体”的技术逐步发展起来,主要包括两部分:
- 首先要有一个低成本的存储,用于存储结构化、半结构化,甚至非结构化的数据。
- 此外,还需要一套包括数据处理、数据管理以及数据治理在内的一体化解决方案。
数据仓库解决了数据快速分析的需求,数据湖解决了数据的存储和管理的需求,而“湖仓一体”要解决的就是如何让数据能够在数据湖和数据仓库之间进行无缝的集成和自由的流转,从而帮助用户直接利用数据仓库的能力来解决数据湖中的数据分析问题,同时又能充分利用数据湖的数据管理能力来提升数据的价值。
因此“湖仓一体”是一种新型的开放式数据架构,它融合了数据仓库(Data Warehouse)和数据湖(Data Lake)的优势,无缝对接各种数据源,解决传统数据架构中的数据孤岛、高成本和灵活性不足等问题。
本节操作介绍DLI“湖仓一体”的基本原理。
视频简介
视频介绍DLI“湖仓一体”方案架构的基本原理。
基本概念
在了解DLI“湖仓一体”的基本原理前,首先介绍“数据湖”和“数据仓库”的基本概念。
“湖仓一体”的核心特征
- 统一架构:打通数据仓库和数据湖,将数据仓库的高性能及管理能力与数据湖的灵活性相结合。
- 多数据类型支持:底层支持结构化、半结构化和非结构化数据并存。
- 统一访问接口:上层通过统一封装的接口进行访问,可同时支持实时查询和分析。
- 数据共享:实现数据间的相互共享,为企业数据治理带来便利性。
DLI 的“湖仓一体”方案架构介绍
湖仓一体架构由多个关键层次组成,每一层都承担着特定的功能。

- 统一存储层:
最底层的对象存储OBS是整个体系的 “数据蓄水池”,同时容纳结构化数据(如数据库表、日志文件)和非结构化数据(如图片、视频、文档)。
- 基于对象存储实现
- 支持多种数据格式(结构化、半结构化、非结构化)
- 采用存算分离设计,大幅降低存储成本
- 数据格式层:
多类型适配,兼顾灵活与规范,通过“湖仓一体”架构,支持多数据源,打破数据孤岛,数据可随用随取、无需搬迁。
- 开源文件格式(Parquet/ORC/CSV)
- 开源数据湖格式(Hudi/Iceberg/DeltaLake)
- 华为云数仓生态 (MRS/DWS/CloudTable)
- 元数据统一管理系统LakeFormation
- 统一元数据:把 “开源文件格式、数据湖格式、数仓” 里的表结构、字段类型、存储位置等元数据信息,统一存到LakeFormation。
- 统一元数据权限管理:LakeFormation实现统一的细粒度数据权限管理,支持跨服务/跨集群的数据共享。
- 自动元数据发现能力,与数据入湖过程联动。
- 跨引擎的一致权限控制,简化配置流程。
- 多元计算引擎
DLI整合三大引擎,按需应对实时流、离线批、交互式分析场景:
- 批处理引擎(Spark):高效处理大规模历史数据。
- 流处理引擎(Flink):实时处理数据流。
- 交互式查询引擎(HetuEngine):支持交互式以及即席查询。
- 异构数据源接入,打破数据孤岛
左侧的 GaussDB/MySQL/PG SQL等让DLI能直接对接已有系统,通过跨源访问,直接分析异构数据源。
- 高性能查询解决方案
一站式满足业务需求,覆盖从 “日常报表” 到 “AI 训练” 的全流程。
- 可对接开放表格式(Iceberg/Hudi等),以及灵活的文件格式(CSV/ORC/Parquet),以及外部数据源(关系型数据库/DWS/CloudTable)实现高性能查询。
- 配合流批一体引擎,例如Flink+StarRocks,供PB级存储和亚秒级查询响应能力。
DLI“湖仓一体”实现方式
LakeFormation的元数据管理把湖、仓元数据(表结构、存储位置、权限规则)收拢统一,让湖仓一体的 “数据自由流动” 成为可能。
“DLI对接LakeFormation”的功能当前处于公测阶段,如需使用,请在管理控制台右上角,选择“工单 > 新建工单”,提交申请。

- 统一管理湖、仓元数据:
不管数据存在数据湖或数据仓库,都能在LakeFormation实例中创建元数据,生成统一的 “表结构 + 存储位置” 映射。
- DLI的Catalog映射:
在DLI控制台创建 “LakeFormation 数据目录映射” 。
- 授权DLI使用LakeFormation资源:
通过委托授权DLI使用LakeFormation资源。
- 不同引擎的DLI作业读湖 、仓数据,元数据直接复用:
在DLI的Spark/Flink/HetuEngine,不用迁移数据,直接选择对应的Catalog,在作业中通过配置“库名.表名”即可访问数据湖或数据仓库的数据 。
例如在离线 处理场景,无需在Spark里重新定义表结构,直接通过在DLI映射后的Catalog即可访问LakeFormation中的元数据。实现从对数据湖、数据仓库数据的读取与写入。