访问触发器中的全局状态

s4chpxco  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(455)

在flink窗口中,我可以在自己定义的触发器中访问globalstate吗?我尝试了triggercontext.getpartitionedstate,但它只能获得每个窗口的状态。

u2nhd7ah

u2nhd7ah1#

唯一可用于 Trigger 是通过使用的每个键、每个窗口状态 triggerContext.getPartitionedState . 触发器没有全局状态。
有一些可能的解决办法。可以想象,你可以有一个 Trigger 在每个事件上激发,然后在 ProcessWindowFunction 决定做什么(这可能是一个非常糟糕的主意)。
在大多数情况下,如果很难从windowapi获得所需的内容,那么最好使用 ProcessFunction . 如果不清楚如何用这种方式解决问题,请问另一个问题,提供关于用例的更多细节。

相关问题