You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by jy l <lj...@gmail.com> on 2020/11/24 02:03:13 UTC

Flink SQL 对延迟数据怎么处理?

Hi:
请教一下,FlinkSQL中,我在创建表时设置了watermark并设置了最大延迟,可是还是有数据依旧会迟到晚到,对于这样的数据我们又不想直接丢弃,那这个依旧迟到的数据我该怎么收集?是否有与StreamAPI一样可以将依旧迟到的数据进行分流的方案?

祝好!

Re:Flink SQL 对延迟数据怎么处理?

Posted by hailongwang <18...@163.com>.
Hi,
  据我所知,FlinkSQL 不支持将迟到的数据输出到侧流中。
如果你下游使用的是 window 的话,可以通过设置
`table.exec.emit.late-fire.enabled` 和 `table.exec.emit.late-fire.delay` 来触发晚于 watermark 到达的数据。
其中允许等待晚与 watermark 的数据的时间由 `table.exec.state.ttl` 控制,等价于 Datastream 中的 allowedLateness,
故 window 的最大等待时间为 watermark 的 outOfOrder + allowedLateness。


Best,
Hailong
在 2020-11-24 09:03:13,"jy l" <lj...@gmail.com> 写道:
>Hi:
>请教一下,FlinkSQL中,我在创建表时设置了watermark并设置了最大延迟,可是还是有数据依旧会迟到晚到,对于这样的数据我们又不想直接丢弃,那这个依旧迟到的数据我该怎么收集?是否有与StreamAPI一样可以将依旧迟到的数据进行分流的方案?
>
>祝好!