使用窗口AND状态

时间:2017-04-23 13:41:19

标签: apache-flink flink-streaming

我正在寻找一种在窗口上实现聚合/折叠功能的方法,该窗口也具有状态。 我理解如何在窗口上聚合,以及如何使用键/全局状态 - 但不是两者。

为了清楚起见,当我说一个带状态的窗口时 - 我的意思是每次更改/移动窗口时都应该初始化(无效)状态

例如:我想计算每5分钟按事件类型键入的事件数。但是除了事件类型(这是窗口键)之外,事件还有一些id字段 - 我想只计算一次id - 所以我需要保存我已经在该窗口中计算的所有ID的状态

在Flink中有一种简单的方法吗?

1 个答案:

答案 0 :(得分:2)

Flink有一个RichReduceFunction,它可以让您访问所有窗口中给定键的全局状态。如果您需要按窗口状态,请参阅[Flink-5929],它将成为Flink 1.3的一部分。