开发者社区> 问答> 正文

cumulate函数和比较函数连用为什么报错?

通过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条件可以正常执行,加上就不行。*来自志愿者整理的flink邮件归档

展开
收起
EXCEED 2021-12-02 15:56:12 600 0
1 条回答
写回答
取消 提交回答
  • 目前 window tvf 只能应用于 window agg 和 window top-n 两种场景。如果 where 条件是用来对 window

    agg 的结果进行过滤的,可以使用 having 而不是 where;若是对进入 window 之前的数据进行过滤的,可以 create view。*来自志愿者整理的FLINK邮件归档

    2021-12-02 16:12:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载