大家好,
我对这种大窗口的滑动窗口有一个思路,我主要使用的是Flink SQL,方法不知道对不对,大家讨论下哈:
1.将24小时窗口,1分钟的滑动,转化为1分钟的滚动窗口,将结果输出,然后输出给24小时滑动窗口1分钟输出。
2.直接的滑动窗口,好像是需要将所有的明细数据都保存在内存中。(这一点不知对不对,大神们帮忙看看)
3.使用滚动窗口,进行预聚合,滚动窗口的数据在窗口输出后,不用保存明细数据,减少了内存使用。
4.如果TPS过高,可以减少滚动窗口的大小,但是需要保证输出到的滑动窗口,一次滑动的窗口大小是滚动窗口的N倍。
祝
顺利
———
就不让进入后面生成水印,这样就不会导致因为水印过大而导致你后面的问题
2、在生成水印的地方做判断,如果采集上来的数据的时间远大于当前时间(比如超过 5
分钟)那么就不把当前水印的时间设置为数据的时间,而是用当前系统的时间代替
Best!
From zhisheng
郑 仲尼 mailto:zhengzhon...@outlook.com>> 于2019年7月24日周三
下午3:44写道:
> 各位Flink社区大佬,
> 您好!
> 我使用Flink SQL (Flink
> 1.8.0)进行一些聚合计算,消费的是Kafka数据,使用
各位Flink社区大佬,
您好!
我使用Flink SQL (Flink
1.8.0)进行一些聚合计算,消费的是Kafka数据,使用的是EventTime,但是有时候,偶然会出现rowtime字段来了一条未来时间的数据(可能是上送的数据时区导致),这样Watermark会直接推到了未来某个时间点,导致这笔错误数据到达后的数据,到未来时间点之间的数据会被丢弃。
这个问题根本确实是业务方面的问题,但是我们还是希望有一些方案应对这种异常情况。
目前,我们这边处理的方法是: