Flink:带有CSV文件的事件时间聚合



我将Flink 1.11.3与SQL API和Blink计划器一起使用。我在流模式下工作,使用带有文件系统连接器和CSV格式的CSV文件。对于时间列,我生成水印,并希望在此时间基础上进行窗口聚合。就像根据事件时间快进过去一样。

val settings = EnvironmentSettings.newInstance().inStreamingMode().useBlinkPlanner().build()

是否必须为此对时间列进行排序,因为逐行消耗,如果不进行排序,可能会发生延迟事件,从而导致行的删除?

我也对Ververica的CDC连接器的这个问题感兴趣。也许我可以联系到一个知道这件事的人。在开始时,它获取表的快照,然后将这些行作为更改事件发出。关于事件时间的正确处理是什么?它们的发射顺序是什么?

是的,在流模式下运行时,您会有发生延迟事件的风险,SQL API在执行事件时间窗口时会删除这些事件。

既然输入是一个文件,为什么不以批处理模式运行作业,并完全避免这个问题?否则,您的选项包括对输入进行排序(按时间(,或者确保配置了水印以避免后期事件。

至于CDC连接器产生的事件的顺序,我不知道。

最新更新