我在工作中使用ProcessWindowFunction并保持StateValue。 我的目标是将值保留在多个窗口中的状态中,这意味着不会在每个窗口结束时清除该状态。 我有两个问题:
答案 0 :(得分:0)
ProcessWindowFunction有一个clear方法,当您创建的每个窗口状态都应清除时会调用该方法。如果使用windowState(docs),则应实现此方法。我不确定是否有清除过时密钥的globalState的方法。
Flink本身具有大量测试,可以合理地在您自己的应用程序中重用OneInputStreamOperatorTestHarness和TwoIntputStreamOperatorTestHarness,但它们不是公共API的一部分,并且可能随时更改。而且,内部窗口测试似乎没有使用这些工具-如果我正在为此编写测试,则在Flink源文件中没有看到任何我想利用的东西。