开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC中select a,b,c,d 这种情况怎么搞呢?

Flink CDC中select a,b,c,d from xxx group by a,b
这时候会提示c和d的is not being grouped,这种情况怎么搞呢?

展开
收起
cuicuicuic 2023-12-11 13:39:07 30 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Flink CDC中,如果需要对某些列进行聚合操作,可以使用GROUP BY子句。但是,如果某个列没有被包含在GROUP BY子句中,那么这个列将不会被聚合。

    在你提供的例子中,你尝试使用以下SQL语句:

    SELECT a, b, c, d FROM xxx GROUP BY a, b
    

    这里,你试图对cd列进行分组,但是没有将它们包含在GROUP BY子句中。因此,Flink CDC会提示cdis not being grouped

    要解决这个问题,你需要将cd列添加到GROUP BY子句中。修改后的SQL语句如下:

    SELECT a, b, c, d FROM xxx GROUP BY a, b, c, d
    

    这样,Flink CDC就可以正确地对abcd列进行分组了。

    2023-12-12 15:50:50
    赞同 展开评论 打赏
  • 这种应该是sql 语法本身的约定,按照a和b group by,c和d必然无法输出了。只能算出来c 和d 聚合的结果 ,此回答整理自钉群“Flink CDC 社区”

    2023-12-11 22:09:20
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载