在 Trigger 中访问 globalState
Access globalState in Trigger
在Flink中window,是否可以在自己定义的trigger中访问globalState?
我试过triggerContext.getPartitionedState,但它只能得到per-window状态。
Trigger
唯一可用的状态是通过 triggerContext.getPartitionedState
使用的每个键,每个 window 状态。触发器没有全局状态。
有一些可能的解决方法。可以想象,你可以有一个 Trigger
在每个事件上触发,然后在 ProcessWindowFunction
中使用全局状态来决定做什么(这可能是一个非常糟糕的主意)。
在大多数情况下,很难从 window API 中获得所需内容,最好使用 ProcessFunction
构建完全自定义的解决方案。如果不清楚如何以这种方式解决您的问题,请提出另一个问题,提供有关您的用例的更多详细信息。
在Flink中window,是否可以在自己定义的trigger中访问globalState? 我试过triggerContext.getPartitionedState,但它只能得到per-window状态。
Trigger
唯一可用的状态是通过 triggerContext.getPartitionedState
使用的每个键,每个 window 状态。触发器没有全局状态。
有一些可能的解决方法。可以想象,你可以有一个 Trigger
在每个事件上触发,然后在 ProcessWindowFunction
中使用全局状态来决定做什么(这可能是一个非常糟糕的主意)。
在大多数情况下,很难从 window API 中获得所需内容,最好使用 ProcessFunction
构建完全自定义的解决方案。如果不清楚如何以这种方式解决您的问题,请提出另一个问题,提供有关您的用例的更多详细信息。