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

flink cdc的时候并发度如何? 是每个表一个topic吗?

flink cdc的时候并发度如何? 是每个表一个topic吗?

展开
收起
真的很搞笑 2023-11-21 09:16:55 113 0
4 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在使用Flink CDC时,您可以根据自己的需求来设定并发度。一般来说,Flink CDC提供了两种并发度模式:

    1. 数据流并发度: 这种模式下,每个表都会有一个独立的数据流,并且每个数据流都可以有自己的并发度。
    2. Table API并发度: 这种模式下,所有的表都会共享一个并发度。

    在选择并发度模式时,要考虑的因素包括源端和目标端的资源情况,以及要处理的数据量等因素。
    至于表是否应该对应一个topic,通常建议将表映射到多个topic,以避免数据量过大而导致的消息堆积和消费速度变慢。如果表的数目非常多,也可以考虑将多个表映射到一个topic,但是要注意合理分配资源并保持良好的并发度。

    2023-11-21 23:12:45
    赞同 展开评论 打赏
  • 这种看情况,有增量快照的,就多几个也是可以的,还需要看下游的消费能力。,此回答整理自钉群“Flink CDC 社区”

    2023-11-21 22:06:24
    赞同 展开评论 打赏
  • 在Flink CDC中,你可以设置作业的并行度。然而,高并发度可能会导致数据的顺序处理受到影响,因为多个并行任务会并行处理数据,到达数据的顺序可能无法保证。如果你需要保证数据的顺序处理,你可以尝试使用单并行度。此外,如果设置的并行度大于1时无法获取数据,那么可以将并行度降低到1,以确保能够正常获取数据,然后逐渐增加并行度,直到达到一个可接受的并行度。

    关于Flink CDC的并发写机制,对于多库表的CDC并行写Hudi,可以通过Flink StatementSet在一个Job中实现整库多张表的同步。这是通过一个Kafka的CDC Source表,根据元信息选择。

    至于问题中提到的每个表是否一个topic,这取决于你的具体需求和配置。在Flink CDC中,通常是每个表对应一个topic。

    2023-11-21 14:58:47
    赞同 展开评论 打赏
  • 在使用Flink CDC的时候,一般来说,每一个并行任务都对应一个源表的一个分区,所以实际上Flink CDC的工作流中的并行度等于源表的数量。如果你有多个源表,则需要创建多任务,每个任务监控对应的表的变化情况,以便在每个任务内部实现并行化。
    至于是否将每个表映射到Kafka中的一个Topic,这主要取决于您的实际需求。如果各个表的数据量比较均衡,而且想要简单地处理CDC事件的话,可以把它们映射到不同的Topic中。这样可以避免某个Topic过大而导致性能瓶颈等问题;另一方面也便于后期的维护和管理。如果您觉得没必要这么做,也可以把多个表的数据映射到一个Topic中去。在这种情况下,建议设置合适的分区数,以保证各分区间的负载均衡,并且确保Flink CDC可以正确处理跨表的数据关系。根据实际情况合理地规划和设计您的工作流和数据模型是非常重要的。

    2023-11-21 14:32:45
    赞同 展开评论 打赏

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

相关产品

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

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