Flink---记一次窗口无法触发计算的问题
最近,在协助其他同事测试flink消费kafka数据,窗口计算的准确性问题。1、现象同事往kafka发送数据,结果窗口一直无法触发计算。但是使用我的mock代码,往kafka发送数据时,窗口计算正常触发。2、问题经过排查,同事的代码把所有的数据发往kafka的一个分区;我的代码会负载均衡,发到所有分区。3、分析kafka有三个分区,flink程序会读取到来自三个分区的数据,并取每个分区的最新时间作
·
最近,在协助其他同事测试flink消费kafka数据,窗口计算的准确性问题。
1、现象
同事往kafka发送数据,结果窗口一直无法触发计算。但是使用我的mock代码,往kafka发送数据时,窗口计算正常触发。
2、问题
经过排查,同事的代码把所有的数据发往kafka的一个分区;我的代码会负载均衡,发到所有分区。
3、分析
kafka有三个分区,flink程序会读取到来自三个分区的数据,并取每个分区的最新事件时间戳作为水位线,然后取三个分区的水位线最低的,作为整个程序的水位线。同事的代码只往其中一个分区发送数据,导致其他两个分区的水位线一直无法更新,所以一直无法触发窗口计算。
4、解决
将指定分区的代码删除,将数据发往多个分区;
更多推荐
已为社区贡献6条内容
所有评论(0)