文档首页/ 数据湖探索 DLI/ 产品介绍/ DLI“湖仓一体”
更新时间:2025-11-27 GMT+08:00
分享

DLI“湖仓一体”

在企业数据处理的实践中,随着业务的快速发展,数据量急剧增加,传统的数据处理方式如关系型数据库和数据仓库已经无法满足对非结构化数据的高效处理需求。这导致了企业在处理大量非结构化数据时面临存储成本高、数据管理复杂和分析效率低下的问题。如何在保证数据处理效率的同时,降低存储成本并提高数据管理的灵活性,成为了企业亟待解决的问题。为此,“湖仓一体”技术应运而生,它通过融合数据仓库和数据湖的优势,提供了一种低成本、高效率的数据处理解决方案。

本节将介绍DLI“湖仓一体”的基本原理,帮助您了解如何利用这一技术解决上述问题。

视频简介

视频介绍DLI“湖仓一体”方案架构的基本原理。

基本概念

在了解DLI“湖仓一体”的基本原理前,首先介绍“数据湖”和“数据仓库”的基本概念。

“湖仓一体”的核心特征

  • 统一架构:打通数据仓库和数据湖,将数据仓库的高性能及管理能力与数据湖的灵活性相结合。
  • 多数据类型支持:底层支持结构化、半结构化和非结构化数据并存。
  • 统一访问接口:上层通过统一封装的接口进行访问,可同时支持实时查询和分析。
  • 数据共享:实现数据间的相互共享,为企业数据治理带来便利性。

DLI 的“湖仓一体”方案架构介绍

湖仓一体架构由多个关键层次组成,每一层都承担着特定的功能。

图3 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”的功能当前处于受限使用阶段,如需使用,请在管理控制台右上角,选择“工单 > 新建工单”,提交申请。

图4 DLI“湖仓一体”操作流程
  1. 统一管理湖、仓元数据:

    不管数据存在数据湖或数据仓库,都能在LakeFormation实例中创建元数据,生成统一的 “表结构 + 存储位置” 映射。

  2. DLI的Catalog映射:

    在DLI控制台创建 “LakeFormation 数据目录映射” 。

  3. 授权DLI使用LakeFormation资源:

    通过委托授权DLI使用LakeFormation资源。

  4. 不同引擎的DLI作业读湖 、仓数据,元数据直接复用:

    在DLI的Spark/Flink/HetuEngine,不用迁移数据,直接选择对应的Catalog,在作业中通过配置“库名.表名”即可访问数据湖或数据仓库的数据 。

    例如在离线 处理场景,无需在Spark里重新定义表结构,直接通过在DLI映射后的Catalog即可访问LakeFormation中的元数据。实现从对数据湖、数据仓库数据的读取与写入。

相关文档