问题已经解决,因为我的 StreamEnv 默认设置为事件时间。去掉就可以了,这导致了watermark没有生成。
jie mei <[email protected]> 于2021年4月12日周一 上午1:49写道: > 大家好,我有一个 Flink 程序, 使用事件时间做分组窗口计算,但是无法触发窗口计算。我Debug到 WindowOperator, 下, > 发现 WindowOperator 的 TriggerContext中的当前水印一直是一个负数, StreamTaskNetworkInput 中的 > processElement 方法没有接受到 watermark 消息, recordOrMark.isWatermark() == false。 > > 我自己的怀疑难道是事件时间每设置对? 但是对比了文档,应该是可以的。下面是我的 DDL > > create table input_table ( > `dim` varchar, > `server_time` bigint, > `event_time` AS TO_TIMESTAMP(FROM_UNIXTIME(server_time / 1000, > 'yyyy-MM-dd HH:mm:ss')), > WATERMARK FOR `event_time` AS `event_time` > ) > select TUMBLE_START(`event_time`, INTERVAL '1' SECOND) AS `log_time`, > `dim`, > count(1), > FROM input_table > GROUP BY TUMBLE(`event_time`, INTERVAL '1' SECOND),`dim` > > > > *Best Regards* > *Jeremy Mei* > -- *Best Regards* *Jeremy Mei*
