如图,这个是某个正常现象,分析如下: 数据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列表中。