退订 ------------------------------------------------------------------ 发件人:lk_hadoop <lk_had...@163.com> 发送时间:2023年1月3日(星期二) 09:53 收件人:user-zh <user-zh@flink.apache.org> 主 题:使用 WindowDeduplicate 时,数据没有按照期望的时效写入sink 端 大家好: 我有一个流表,想要通过WindowDeduplicate做局部去重,代码如下: TableResult result = tEnv.executeSql("select * from " + "(select ddate, userMAC, bssid, dtime, userName, apName, action, ssid, rawValue, ROW_NUMBER() OVER (" + "PARTITION BY window_start, window_end, userName ORDER BY eventTime DESC" + ") as row_num from " + "TABLE(TUMBLE(TABLE aplog, DESCRIPTOR(eventTime), INTERVAL '10' SECONDS))" + ") where row_num <= 1"); result.print(); 但是控制台没有数据打印出来,发现checkpoint的大小是在逐渐增加的。 执行以下代码: TableResult result = tEnv.executeSql("select * from TABLE(TUMBLE(TABLE aplog, DESCRIPTOR(eventTime), INTERVAL '10' SECONDS))"); result.print(); 控制台是能正常打印出数据的。 使用WindowDeduplicate时 似乎只有数据积攒到一定数量才会写入sink 请问有知道这是什么原因的吗?