如何将数据保存在内存中动态查询下一个数据

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

我正在用datastreamapi在flink中进行时间序列数据分析。每50个事件(数据收入)我想对它们进行一次转换,保存结果并将其与下50个事件的转换结果进行比较。以此类推。我的问题是,在flink中,有没有一种方法,在做了一个转换之后,保存结果,并查询下一个转换后的50个事件,以及之前的结果?

a7qyws3x

a7qyws3x1#

是的,有两种方法可以做到这一点,都是利用Flink州。
(1) 您可以使用count个使用 globalState()ProcessAllWindowFunction.Context 记住有关上一个窗口的信息(文件)
(2) 或者你可以用一个 RichFlatMapFunction 或者 ProcessFunction . 在这种情况下,您需要自己创建和管理必要的状态,但这并不困难。你需要一个计数器,一些前一个窗口和当前窗口结果的表示。
在这两种情况下,您都需要使用键控流。如果您需要全局执行此操作,而不是在密钥分区流上执行此操作,请告诉我,我将继续。

相关问题