大家好:

我有一个流表,想要通过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




请问有知道这是什么原因的吗?



回复