flink 1.9
如下:
配置如下:
table.exec.emit.early-fire.enabled:true
table.exec.emit.early-fire.delay:60 s
early-fire.delay 就是每分钟输出一次结果的意思。
SQL 如下:
SELECT TUMBLE_ROWTIME(eventTime, interval ‘1’ day) AS rowtime, dimension, count(distinct id) as uvFROM personGROUP BY TUMBLE(eventTime, interval '1' day), dimension;
每天输出一次结果,但设置开启emit后,会按照上述配置,每1min输出1次结果(提前触发窗口计算,并输出结果),如果有变化才下发,反之不下发。
如果不管本次最新结果是否较上次发生变化都下发,则可设置【table.exec.emit.unchanged.enabled = true】
end