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

Flink CDC一个作业里面包含多个 insertselect into 是依次按顺序串行执行 ?

Flink CDC中一个作业里面包含多个 insert into xx select from A; insert into xx select from B 的情况下,请问flink执行作业时 其中的select into 是依次按顺序串行执行 还是 随机并行执行的呢?

展开
收起
小易01 2023-08-16 08:00:51 171 0
1 条回答
写回答
取消 提交回答
  • 对的,Flink CDC 一个作业里面包含多个 insert select into 是依次按顺序串行执行,所以需要注意数据的顺序性。

    如果需要并行执行,可以使用多个作业,或者使用 Flink CDC 的 Stateful Mode。

    以下是使用 Stateful Mode 实现并行执行的示例代码:

    // 创建一个 DataStream 对象,并指定 Kafka 作为数据源。
    DataStream input = ...;

    // 创建一个 Flink CDC 对象,并指定 MySQL 作为数据库连接。
    FlinkCDCSource cdcSource = ...;

    // 使用 FlatMap 算子将 Flink CDC 的数据转换为 DataStream 对象。
    SingleOutputStreamOperator dataStream = cdcSource.flatMap( ... );

    // 使用 Union 算子合并两个 DataStream 对象。
    DataStream result = input.union(dataStream);

    // 将数据写入到 Kafka 中。
    result.addSink( ... );

    // 启动 Flink 作业。
    env.execute();

    2023-09-26 10:35:02
    赞同 展开评论 打赏

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

相关产品

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

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