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