【问题标题】:How to use suitable window function in my case在我的情况下如何使用合适的窗口功能
【发布时间】:2022-06-15 17:06:41
【问题描述】:

我使用的是 flink-1.13 sql。我有一个像这样的卡夫卡表

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 状态永不过期,我找不到合适的 Window TVF Aggregation 来做它

还有其他方法吗?

【问题讨论】:

    标签: apache-flink flink-sql


    【解决方案1】:

    在 Flink 1.14 中添加了一个 current_watermark() 函数,可用于检测和操作延迟事件。

    从 1.13 之前开始,有一个实验性的 table.exec.emit.allow-lateness 配置选项可用于(现在是旧版)窗口操作(而不是窗口 TVF)。

    【讨论】:

      猜你喜欢
      • 2014-03-08
      • 2020-06-06
      • 2022-01-14
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 2023-01-24
      相关资源
      最近更新 更多