Hi!

目前 window tvf 只能应用于 window agg 和 window top-n 两种场景。如果 where 条件是用来对 window
agg 的结果进行过滤的,可以使用 having 而不是 where;若是对进入 window 之前的数据进行过滤的,可以 create view。

李航飞 <tex...@163.com> 于2021年8月18日周三 下午3:55写道:

> 通过flinksql建立数据处理通道
> SELECT window_start,window_end,SUM(price)
>
> FROM TABLE(
>
> CUMULATE(TABLE Bid,DESCRIPTOR(bidtime),INTERVAL '2' MINUTES,INTERVAL '10'
> MINUTES))
>
> GROUP BY window_start,window_end;
>
> 大致语句如上,该语句通过 StreamTableEnvironment对象 env.sqlQuery(sql)执行成功,没有问题
> 关键一步是 StatementSet对象 sta.execute() 执行报错
> java.lang.UnsupportedOperationException:
> Currently Flink doesn't support individual window table-valued function
> CUMULATE(time_col=[ts], max_size=[10 min], step=[2 min]).
>  Please use window table-valued function with aggregate together using
> window_start and window_end as group keys.
> 执行环境是flink1.13.1  去掉where条件可以正常执行,加上就不行。
>
>

回复