Apache flink Flink Streaming:TriggerResult.FIRE和TriggerResult.FIRE\u和\u PURGE之间的差异

Apache flink Flink Streaming:TriggerResult.FIRE和TriggerResult.FIRE\u和\u PURGE之间的差异,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我是弗林克的新手。 我有一个Flink流媒体程序,可以在10秒的会话窗口中计算卡夫卡的内容 我的问题是: 会话窗口默认触发器为FIRE Flink streaming会将每个窗口的所有kafka消息保留在内存中吗?还是只保留聚合结果 如果我使用FIRE_和PURGE,将清除什么?将描述触发和清除,但简单地说,区别在于FIRE_和PURGE在触发后删除窗口的内容 Flink的所有内置窗口分配程序(包括会话窗口)都会在适当的时候清除其内容,即在任何允许的延迟过期之后。但吹扫是作为一个单独的步骤进行的

我是弗林克的新手。 我有一个Flink流媒体程序,可以在10秒的会话窗口中计算卡夫卡的内容

我的问题是:

会话窗口默认触发器为FIRE

Flink streaming会将每个窗口的所有kafka消息保留在内存中吗?还是只保留聚合结果


如果我使用FIRE_和PURGE,将清除什么?

将描述触发和清除,但简单地说,区别在于FIRE_和PURGE在触发后删除窗口的内容

Flink的所有内置窗口分配程序(包括会话窗口)都会在适当的时候清除其内容,即在任何允许的延迟过期之后。但吹扫是作为一个单独的步骤进行的,而不是与触发点火相结合

Windows的内容保持在Flink状态,因此它们的位置取决于您使用的后端状态。如果使用基于堆的状态后端,此状态将保留在堆上;如果使用RocksDB,此状态将保留在磁盘上

在清除之前,您的窗口是否保留其全部内容取决于您是否使用增量聚合——换句话说,如果您使用的是reduce、aggregate或fold,则只存储聚合的持续结果,否则它是分配给该窗口的所有事件的集合