flink table无法取非group by的字段

有的时候我们希望获取非group by的字段,这时候发现flink的table api不支持,会报错。比如group by a,b的时候select c,d,则会报错 expression c is not being grouped。

其实这是一个SQL规范(SQL92标准),像在mysql5.7及以上版本中,默认的sql_mode=only_full_group_by。这个配置就要求select后的字段要么是group by后的字段,要么是聚合函数。否则会报错。

mysql中可以通过修改配置来解决这个强约束。

但是flink table目前好像还没有相关配置,或者是我没有找到。

目前为了解决这个问题,采用的方案是放弃使用table api,对于流处理直接使用key by。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章