如何在我的案例中使用合适的窗口函数



我使用flink-1.13 sql。我有一个kafka表,像

create my_table(
id string,
event_time timestamp(3)
watermark for time as ...
)

我想把每10分钟的消息像滚动窗口一样分组,另外我想重新计算1小时内的延迟消息。我知道的一种方法是使用像

这样的udf
select count(1) from my_table
where event_time >= '1 hour ago'
group by ten_minutes_udf(event_time)

但是这种方式的flink状态永远不会过期,我找不到合适的窗口TVF聚合来做它

还有别的方法吗?

在Flink 1.14中增加了current_watermark()功能,可用于检测和操作延迟事件。

在1.13之前,有一个实验性的table.exec.emit.allow-lateness配置选项,可以用于(现在遗留的)窗口操作(而不是窗口tvf)。

相关内容

  • 没有找到相关文章

最新更新