大家好:
我有一个流表,想要通过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 请问有知道这是什么原因的吗?