开发者社区> 问答> 正文

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

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

*来自志愿者整理的flink邮件归档

展开
收起
小阿矿 2021-12-03 16:53:24 3141 0
1 条回答
写回答
取消 提交回答
  • 据我所知,FlinkSQL 不支持将迟到的数据输出到侧流中。 如果你下游使用的是 window 的话,可以通过设置 table.exec.emit.late-fire.enabledtable.exec.emit.late-fire.delay 来触发晚于 watermark 到达的数据。 其中允许等待晚与 watermark 的数据的时间由 table.exec.state.ttl 控制,等价于 Datastream 中的 allowedLateness, 故 window 的最大等待时间为 watermark 的 outOfOrder + allowedLateness。

    *来自志愿者整理的flink邮件归档

    2021-12-06 11:26:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载