如图,这个是某个正常现象,分析如下:
数据A:ts1
数据B:ts2
假设ts1和ts2是2event time,并且属于不同窗口。
但是,当通过processFunc加个batch逻辑后,将2个元素放一起作为List<X>这样输出到下一个算子处理,下个算子处理后再拆分输出。
此时,2个数据A和B的event time都会变成ts2。这导致了后续window操作的时间错乱。

不清楚大家有啥好的思路解决不。

目前2个考虑方案。
(1)拆分数据后重新生成event timestamp。
(2)processFunc换成keyedProcessFun,将窗口信息放入keyBy列表中。

回复