请大佬指导下:
table api grooupbywindow,为什么输出是Empty set。


public class GroupByWindow {
public static void main(String[] args) {
        StreamExecutionEnvironment env = 
StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env);

List<Order> lst = new ArrayList<>();
lst.add(new Order("a", "123", new Timestamp(Instant.now().toEpochMilli())));
lst.add(new Order("a", "124", new Timestamp(Instant.now().toEpochMilli())));
lst.add(new Order("a", "125", new Timestamp(Instant.now().toEpochMilli())));

DataStreamSource<Order> stream = env.fromCollection(lst);
// 声明一个额外的字段作为时间属性字段
Table table = tableEnv.fromDataStream(stream, $("productId"), $("fee"), 
$("acceptDate"), $("user_action_time").proctime());

tableEnv.createTemporaryView("People", table);
tableEnv.from("People").window(Tumble.over(lit(1).seconds()).on($("user_action_time")).as("w"))
                .groupBy($("productId"),$("w"))
                .select(
$("productId"),
$("productId").count().as("productCnt"),
$("w").start(),
$("w").end()
                ).execute().print();
}
}



Empty set

Process finished with exit code 0 





 





 





 

回复