【问题标题】:Flink: Event-Time Aggregations with CSV fileFlink:使用 CSV 文件的事件时间聚合
【发布时间】:2020-12-31 05:32:06
【问题描述】:

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

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

是否需要对时间列进行排序,因为逐行消耗,如果不排序,可能会发生延迟事件,从而导致行丢失?

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

【问题讨论】:

    标签: apache-flink flink-streaming flink-sql


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-11-30
      • 2022-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2016-07-24
      相关资源
      最近更新 更多