想问下 flink sql 有办法让 changelog 按主键 shuffle 到对应的 sink

想问下 flink sql 有办法让 changelog 按主键 shuffle 到对应的 sink 上吗

展开
收起
游客3oewgrzrf6o5c 2022-07-14 14:53:26 488 分享 版权
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    是的,Flink SQL支持将数据按照主键进行分组和shuffle。在这种情况下,您可以使用Flink SQL的GROUP BY语句来将数据按照主键进行分组,并使用Flink SQL的ORDER BY语句来将数据按照主键进行排序。然后,您可以使用Flink SQL的SELECT语句来选择需要的字段,并将数据发送到对应的Sink中。
    例如,如果您有一个表“t”,其中包含主键id和其他字段,您可以使用如下代码将数据按照主键id进行分组和shuffle:

    SELECT id, field1, field2
    FROM t
    GROUP BY id
    ORDER BY id;
    

    然后,您可以使用Flink SQL的SELECT语句来选择需要的字段,并将数据发送到对应的Sink中:

    SELECT id, field1, field2
    FROM (
      SELECT id, field1, field2
      FROM t
      GROUP BY id
      ORDER BY id
    ) t
    INTO TABLE sink;
    

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

    2023-08-06 07:44:59
    赞同 展开评论

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

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理