ProcessWindowFunction 中状态的 TTL

TTL for state in ProcessWindowFunction

我想在进程窗口函数中设置状态的 TTL。 windows 共享此状态。此 TTL 需要基于事件本身的属性。所以我无法计算状态描述符中的 TTL。另外,processwindowfunction 不支持 onTimer 函数。

还有其他方法可以实现吗?

如果必须将生存时间计算为事件本身的函数,则不能使用状态 TTL 机制。

唯一的选择是使用带有 KeyedProcessFunction 的计时器,而不是使用 window API。 flink 文档中有一个示例:https://ci.apache.org/projects/flink/flink-docs-stable/learn-flink/event_driven.html#example