异步窗口

qlzsbp2j  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(605)

这是一个关于flink流媒体的两个问题的主题,基于我自己做的实验,我需要一些澄清。问题是:
当我们在flink的keyedstream上使用windows时,apply函数的计算是异步的吗?具体来说,flink会为每个键创建单独的窗口,并独立地处理这些窗口吗?
假设我们在一个窗口流上使用apply函数(做一些计算),这个窗口流将创建一个数据流。如果我们对生成的数据流进行一些转换,flink会将整个windowedstream保存在内存中吗?flink会等到windowedstream的所有apply函数都完成后,再继续对结果流进行转换吗?
在我做的所有实验中,我都使用事件时间,从文件中读取数据。我在我的实验中观察到了以上的陈述,我需要一些澄清。

wfveoks0

wfveoks01#

广告1是的,每把钥匙都是独立处理的。这也是windows计算并行化的方式。
ad.2 flink将保持窗口状态,直到窗口可以发射(加上一些额外的时间,以防 allowedLateness ). 一旦一个窗口的结果被发出(在您的情况下是转发给下一个操作员),状态就可以被清除。

相关问题