更新时间:2025-12-10 GMT+08:00
分享

FlinkSQL支持RowKind过滤能力

使用场景

上游算子往下游发送数据,需要根据RowKind过滤符合要求的数据时,可以使用该特性。

使用限制

  • 仅支持FlinkSQL Hint方式使用该特性。
  • 使用该特性后作业Sink Connector需要支持Changelog消息,如:hudi、upsert-kafka、print等。
  • 本章节仅适用于MRS 3.6.0-LTS及之后版本。

使用方法

在FlinkSQL中添加 /*+ ROWKIND('INSERT','UPDATE_AFTER','UPDATE_BEFORE','DELETE') */ ,包含哪些RowKind,对应的数据就可以发送到下游。

SQL示例:

create table datagen1(pid int, uid int) with('connector' = 'datagen');
create table datagen2(pid int, uid int) with('connector' = 'datagen');
create table printsink(pid int, uid int) with('connector' = 'print');
insert into
  printsink
SELECT
  /*+ ROWKIND('INSERT','UPDATE_AFTER') */
  datagen1.pid,
  datagen2.uid
FROM
  datagen1
  left join datagen2 on datagen1.pid = datagen2.pid;

相关文档