天天看点

Flink 的 emit 作用

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

继续阅读