【问题标题】:Flink streaming: when does a global window start?Flink 流式传输:全局窗口何时开始?
【发布时间】:2021-12-07 01:29:21
【问题描述】:

当使用全局窗口时,窗口是从作业启动并且我们收到第一个事件的那一刻开始,还是从 1970 年 1 月 1 日 00:00:00 开始,根据这个答案:flink Windows, when do they start

【问题讨论】:

    标签: apache-flink flink-streaming data-stream windowing


    【解决方案1】:

    Flink 的时间窗口不是以纪元(1970 年 1 月 1 日 00:00:00)开始的,而是与之对齐。例如,如果您使用一小时长的处理时间窗口并在 2021 年 10 月 20 日 10:53:00 开始作业,则这些长达一小时的窗口中的第一个将在 2021 年 10 月 20 日 10:59.999 结束。

    全局窗口不是时间窗口。全局窗口是一个窗口分配器,它将每个传入事件分配给同一个窗口,而不考虑时间。全局窗口设计用于自定义触发。

    【讨论】:

    • 从这个意义上说,我会通过发出 FIRE triggerResult 来决定窗口何时关闭?计时逻辑会发生在触发器本身内部,对吗?
    • 是的,没错。您可能还需要实现 Evictor 以清除在窗口被触发后不应保留的窗口元素。
    猜你喜欢
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    相关资源
    最近更新 更多