我目前正在使用 Flink 1.0 编写一个聚合用例,作为用例的一部分,我需要获取最近 10 分钟登录的 api 计数。
我可以使用 keyBy("api") 轻松做到这一点,然后应用 10 分钟的窗口并执行 sum(count) 操作。
但问题是我的数据可能出现乱序,所以我需要一些方法来获取 10 分钟窗口内的 api 计数..
例如:如果相同的 api 日志出现在 2 个不同的窗口中,我应该得到一个全局计数,即 2,而不是两个单独的记录显示每个窗口的计数为 1。
我也不想要增量计数,即具有相同键的每条记录显示多次,计数等于增量值..
我希望记录以全局计数显示一次,例如 Spark 中的 updateStateByKey() 。
我们可以这样做吗?