开启湖流一体
本文将介绍如何开启湖流一体能力。
前提条件
开通服务
已创建Flink工作空间,需与Fluss位于同一VPC,详情请参见开通实时计算Flink版。
已开通DLF服务并新建Catalog,需与Fluss位于同一地域,且添加Flink所在VPC为白名单。详情请参见授权并开通DLF与配置VPC白名单。
版本限制
不支持DLF-Legacy使用。
权限要求
开启湖流一体
步骤一:集群开启湖流一体
登录实时计算管理控制台。
选择流存储Fluss页签,单击操作列控制台,进入Fluss集群。
在集群概览页的右下角,选择
开启后,完成服务关联。
完成关联后,单击确认。开启成功后,可查看所关联的Flink项目空间中的同步任务。
重要同步任务默认需要 0.5CU 来保证任务运行,请确保项目空间拥有足够的资源启动。
启动后,若不关闭湖流一体,任务将会持续运行,产生相关费用,请知悉。
(可选)若服务启动失败或出现预期之外的报错,可进入关联的Flink工作空间中,在中,查看到
tiering-fluss开头的JAR作业。若未找到该作业,说明服务未成功提交或权限不足。
若作业存在但状态异常(如 FAILED、CANCELED),可进一步查看作业日志定位具体错误。
步骤二:表开启湖流一体
未建表
在Flink工作空间注册 Fluss Catalog,然后在中创建表。
CREATE TABLE `my-catalog`.`fluss`.`datalake_orders` (
shop_id BIGINT,
user_id BIGINT,
num_orders INT,
total_amount INT,
PRIMARY KEY (shop_id, user_id) NOT ENFORCED
) WITH (
'bucket.num' = '4',
'table.datalake.enabled' = 'true',
'table.datalake.freshness' = '30min'
);湖流一体额外参数说明
参数 | 说明 | 默认值 | 备注 |
table.datalake.enabled | 是否开启湖流一体。 | false | 未添加该配置时,可以在控制台手动开启。 |
table.datalake.freshness | 定义 Paimon 表数据相对于 Fluss 原表的最大允许延迟(即数据新鲜度)。 | 3min | Fluss 服务将依据此配置自动执行数据同步。调小该值可提升湖仓侧的数据实时性;若业务对延迟不敏感,可适当调大该值以降低资源消耗。 重要 此参数后续不能修改。 |
paimon.* | 任何以 | 无 | Fluss 湖流一体会使用 Paimon 的默认参数创建底层的 Paimon 湖表,如果你要对 Paimon 湖表有其他参数配置的需求,比如设置 Paimon 湖表为 ORC 格式,可以设置 更多参数配置详情请参见Paimon Configuration。 |
暂不支持创建开启了 deletion vector 的 Paimon 表,请不要传入参数 'paimon.deletion-vectors.enabled' = 'true'。
已有表
SQL开启:通过
ALTER TABLE语法开启。ALTER TABLE datalake_orders SET ('table.datalake.enabled' = 'false');控制台开启
在Fluss控制台中,在左侧导航栏选择数据管理,单击对应的数据库,在右侧展示的数据表中,可选择
开启湖流一体。
查询数据同步
数据表开启湖流一体后,系统会自动将表的元数据同步至 DLF。可在 DLF 中对应关联的 Catalog 下,找到一个与 Fluss 中同名的库。该库包含与源表完全一致的表结构和元数据,用于统一查询与管理。
同步前请确保 DLF 中不存在同名的表,否则可能导致同步失败或冲突。

湖流一体数据一致性说明
湖流一体表启用后,Fluss 中的数据会通过 Flink 同步作业持续写入基于 Paimon 的数据湖,其表结构元数据由 DLF 统一管理,一经创建即长期保留。
删除Fluss中的湖流一体表,并不会删除DLF中已经同步的湖表(Paimon表),需要在DLF中手动清理。
对于主键表,采用 changelog 模式处理数据变更:
当某条记录被删除时,系统不会物理移除历史数据,而是追加一条类型为
DELETE的变更日志。在执行 Union Read 查询时,Flink 引擎会自动合并 Fluss 中的实时数据与 Paimon 中的历史数据,并根据主键和变更日志进行去重与状态合并。
最终返回的结果中,已被逻辑删除的记录将不会出现,从而保证查询结果的正确性与一致性。
关闭湖流一体
数据表关闭湖流一体
控制台:在Fluss控制台,左侧导航栏选择数据管理,将已经开启湖流一体的表逐一关闭。
SQL:通过
ALTER TABLE语法关闭。ALTER TABLE datalake_orders SET ('table.datalake.enabled' = 'false');
集群关闭湖流一体
在集群概览页中的右下角,将
关闭,即可关闭湖流一体服务。
若存在未关闭湖流一体服务的表,将无法关闭集群层面的湖流一体服务。
关闭湖流一体服务时,Flink同步作业也会停止运行。