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
我想在进程窗口函数中设置状态的 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