在触发器中访问globalState



在Flink窗口中,我可以在自己定义的触发器中访问globalState吗?我尝试过triggerContext.getPartitionedState,但它只能获得每个窗口的状态。

Trigger唯一可用的状态是通过triggerContext.getPartitionedState使用的每个键、每个窗口的状态。触发器没有全局状态。

有一些可能的解决办法。可以想象,您可以有一个Trigger在每个事件上触发,然后在ProcessWindowFunction中使用全局状态来决定要做什么(这可能是一个非常糟糕的主意(。

在大多数情况下,很难从窗口API获得您想要的内容,最好使用ProcessFunction构建一个完全自定义的解决方案。如果不清楚如何以这种方式解决您的问题,请问另一个问题,提供有关您的用例的更多详细信息。

相关内容

  • 没有找到相关文章

最新更新