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

Flink CDC程序 还是被拆成了两个作业是怎么导致的?

Flink CDC程序 多分支sink 被拆成了两个 作业 使用了 StreamStatementSet stmtSet.addInsertSql 方法 可是还是被拆成了两个作业是怎么导致的?

展开
收起
真的很搞笑 2023-12-03 19:05:38 34 0
2 条回答
写回答
取消 提交回答
  • Flink CDC程序多分支sink被拆成了两个作业,可能是因为在执行过程中遇到了某些错误或异常,导致程序无法正常执行。具体原因可能有以下几种:

    1. 配置问题:可能是由于配置不正确导致的,例如数据源、目标表等的配置信息有误。

    2. 网络问题:可能是由于网络连接不稳定或中断导致的,例如与Kafka或其他外部系统的连接出现问题。

    3. 资源问题:可能是由于系统资源不足或负载过高导致的,例如CPU、内存、磁盘等资源使用率过高。

    4. 代码问题:可能是由于代码逻辑错误或异常处理不当导致的,例如使用了错误的API或方法,或者没有正确处理异常情况。

    针对这种情况,可以尝试以下解决方法:

    1. 检查配置信息是否正确,特别是数据源和目标表的配置信息。

    2. 检查网络连接是否正常,特别是与Kafka或其他外部系统的连接情况。

    3. 调整系统资源分配,确保系统资源充足且负载不过高。

    4. 检查代码逻辑是否正确,特别是使用了哪些API或方法,以及是否正确处理了异常情况。

    2023-12-04 17:05:50
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC程序多分支sink被拆成两个作业的原因可能是由于使用了StreamStatementSet的addInsertSql方法。

    在Flink中,一个作业(Job)是由多个算子(Operator)组成的有向无环图(DAG)。当您使用StreamStatementSet的addInsertSql方法时,实际上是将多个INSERT语句添加到了一个流式SQL查询中。然后,Flink会将这些INSERT语句转换为多个算子,并将它们组成一个新的DAG。

    在这种情况下,即使您只调用了一次addInsertSql方法,Flink仍然会将其拆分为多个作业。这是因为每个INSERT语句都会生成一个新的算子,而每个算子都需要单独执行。因此,为了提高并发性能和资源利用率,Flink会将这些算子分配到不同的作业中执行。

    2023-12-03 20:58:37
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 热门讨论

    热门文章

    相关电子书

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