退订

2023-01-02 文章 邱钺
退订
--
发件人:lk_hadoop 
发送时间:2023年1月3日(星期二) 09:53
收件人:user-zh 
主 题:使用 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
请问有知道这是什么原因的吗?


使用 WindowDeduplicate 时,数据没有按照期望的时效写入sink 端

2023-01-02 文章 lk_hadoop
大家好:


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




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