问题已经解决,因为我的 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*

回复