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

大家flink sql 选择 group-offset 新的group 会报错吗?

大家flink sql 选择 group-offset 新的group 会报错吗?

展开
收起
爱喝咖啡嘿 2022-12-09 16:52:47 318 0
1 条回答
写回答
取消 提交回答
  • 在使用 Flink SQL 中的 GROUP BY 语句时,如果选择的分组字段是一个 offset 类型的字段(例如 GROUP BY ROW_NUMBER() OVER (...)),可能会出现错误。这是因为 offset 类型的字段表示的是行号,不能用于分组。

    为了避免这种情况,你可以在使用 GROUP BY 语句时使用其他字段作为分组条件。例如,如果你想对每个用户的记录进行分组统计,可以这样做:

    SELECT user_id, COUNT(*) FROM my_table GROUP BY user_id 如果你想使用多个字段作为分组条件,可以这样做:

    SELECT user_id, date, COUNT(*) FROM my_table GROUP BY user_id, date 如果你想在使用分组的同时获取每行的行号,可以使用如下 SQL 语句:

    SELECT user_id, date, ROW_NUMBER() OVER (PARTITION BY user_id, date ORDER BY timestamp) AS row_number, COUNT(*) FROM my_table 这样,你就可以在分组的同时获取每行的行号,而不会报错。

    希望这些信息能帮助你解决问题。

    2022-12-31 11:42:34
    赞同 展开评论 打赏

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

相关产品

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

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