抱歉挖了这么旧的邮件。请问这个问题解决了吗?我在 flink 1.14 上遇到相同的问题。

Best,
Paul Lam

> 2021年8月20日 10:56,李航飞 <tex...@163.com> 写道:
> 
> 你好:
> 具体场景是对agg结果之前进行过滤,现在通过create view进行提取过滤了
> 现在我想通过DynameicTable的方式,以upsert写入redis里面
> 
> 
> 
> 
> 在 2021-08-20 10:31:18,"Caizhi Weng" <tsreape...@gmail.com> 写道:
>> Hi!
>> 
>> 具体的条件是什么样的呢?理论上如果是和原本的 group by ... having ... 等价的语句应该是支持的。
>> 
>> 李航飞 <tex...@163.com> 于2021年8月18日周三 下午4:34写道:
>> 
>>> 哦哦,好的,谢谢你。比较函数不可以连用,简单的一些的条件(where a = '2')可以用,这个功能后续还会调整吗
>>> 在 2021-08-18 16:21:20,"Caizhi Weng" <tsreape...@gmail.com> 写道:
>>>> 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条件可以正常执行,加上就不行。
>>>>> 
>>>>> 
>>> 

回复