湖流一体是一种融合数据湖与实时流的新型数据架构理念。
湖流一体

核心定义
湖流一体是一种融合数据湖与实时流的新型数据架构理念,旨在打破传统批处理与流处理的边界,实现统一存储、统一元数据、统一访问下的实时与离线一体化数据处理。常用于解决数据湖数据时效性问题(如分钟级延迟提升至毫秒级),以及解决数据流 OLAP 分析的能力。
它通过将实时流式存储(Fluss)与基于 Paimon 的数据湖(由 DLF 统一管理元数据)进行深度集成,实现“一份数据,两种视图”,即在同一个逻辑表中,同时提供低延迟的实时数据访问和高吞吐的历史数据分析能力。
核心原理
自动同步:Fluss 集群开启该功能后,系统自动创建 Flink 同步作业,将 Fluss 中的实时事件流持续写入至 Paimon 表。
联合读取 (Union Read):Flink 查询引擎支持对同一张表发起查询时,自动合并来自 Fluss 的实时自 Paimon 的历史数据,按主键进行去重,对外呈现为一张完整、一致、最新的表。
元数据统一:DLF 作为统一元数据服务,管理 Paimon 表的表结构、分区、权限等信息,确保数据可被多种计算引擎(如 Flink, Spark, Presto)无缝访问。
数据共享:Fluss 与 Paimon 协同构建流批一体存储架构,Fluss 作为实时数据层,提供毫秒级延迟的热数据写入与访问能力;Paimon 作为历史数据层,承载长周期、高性价比的历史数据存储。两者数据相互共享,避免重复数据存储。
关键能力
降低架构复杂度:消除传统“流批分离”带来的双链路开发、双份存储、双重运维成本。
保障数据一致性:通过统一的数据模型和计算引擎,确保实时与离线分析结果的一致性。
简化运维:提供端到端的监控面板,包含同步延迟、作业状态、健康分等指标,并集成一键启停、报警设置等运维入口。
提升敏捷性:开发者无需关心底层数据物理位置,仅需关注业务逻辑,即可快速构建实时数仓、实时报表、AI 特征工程等场景。
前提条件
开通服务
已创建Flink工作空间,需与Fluss位于同一VPC,详情请参见开通实时计算Flink版。
已开通DLF服务并新建Catalog,需与Fluss位于同一地域,且添加Flink所在VPC为白名单。详情请参见授权并开通DLF与配置VPC白名单。
版本限制
不支持DLF-Legacy使用。
权限要求
开启湖流一体
登录实时计算管理控制台。
选择流存储Fluss页签,单击操作列控制台,进入Fluss集群。
在集群概览页中的右下角,选择
开启后,完成服务关联。完成关联后,单击确认。开启成功后,可查看所关联的Flink项目空间中的同步任务。
重要同步任务默认需要 7CU 来保证任务运行,请确保项目空间拥有足够的资源启动。
启动后,若不关闭湖流一体,任务将会持续运行,产生相关费用,请知悉。
(可选)若服务启动失败或出现预期之外的报错,可进入关联的Flink工作空间中,在中,查看到
tiering-fluss开头的JAR作业。若未找到该作业,说明服务未成功提交或权限不足。
若作业存在但状态异常(如 FAILED、CANCELED),可进一步查看作业日志定位具体错误。
在Fluss控制台中,在左侧导航栏选择数据管理,单击对应的数据库,在右侧展示的数据表中,可选择
开启湖流一体。说明如果没有表,可先进行在Flink工作空间注册 Fluss Catalog,然后再创建表。
开启湖流一体表后,系统会自动将表的元数据同步至 DLF。可在 DLF 中对应关联的 Catalog 下,找到一个与 Fluss 中同名的库。该库包含与源表完全一致的表结构和元数据,用于统一查询与管理。
同步前请确保 DLF 中不存在同名的表,否则可能导致同步失败或冲突。
湖流一体数据一致性说明
湖流一体表启用后,Fluss 中的数据会通过 Flink 同步作业持续写入基于 Paimon 的数据湖,其表结构元数据由 DLF 统一管理,一经创建即长期保留。
对于主键表,采用 changelog 模式处理数据变更:
当某条记录被删除时,系统不会物理移除历史数据,而是追加一条类型为
DELETE的变更日志。在执行 Union Read 查询时,Flink 引擎会自动合并 Fluss 中的实时数据与 Paimon 中的历史数据,并根据主键和变更日志进行去重与状态合并。
最终返回的结果中,已被逻辑删除的记录将不会出现,从而保证查询结果的正确性与一致性。
关闭湖流一体
若存在未关闭湖流一体服务的表,将无法关闭集群层面的湖流一体服务。
关闭湖流一体服务时,Flink同步作业也会停止运行。