Flink CDC中在获取维表数据的时候,是一次批量获取的还是一条一条获取的?

Flink CDC中在获取维表数据的时候,是一次批量获取的还是一条一条获取的?

展开
收起
十一0204 2023-07-26 08:23:29 214 分享 版权
3 条回答
写回答
取消 提交回答
  • 在 Flink CDC 中获取维表数据时,通常是一次批量获取的方式。这种方式可以提高性能和效率,减少与外部系统的交互次数。

    具体来说,在 Flink 中使用 CDC 连接器获取维表数据时,会以某种方式(如 JDBC 或 REST API)从外部系统中批量获取数据,并将其加载到 Flink 的内存中。然后,在查询过程中通过内存中的维表数据进行关联操作。

    这种一次批量获取的方式有以下优点:

    1. 减少网络开销:批量获取可以减少与外部系统的网络通信次数,降低了网络开销,提高了整体性能。

    2. 提高处理速度:一次性获取维表数据可以利用更高效的算法进行关联操作,从而提高查询速度和处理效率。

    3. 缓存数据:一次批量获取的方式可以将维表数据缓存在 Flink 的内存中,提供快速访问和响应,避免频繁地访问外部系统。

    需要注意的是,具体的实现方式取决于所使用的 CDC 连接器和外部系统的特性。一些连接器可能支持自定义配置,例如批量大小、并发度等,以优化维表数据的获取方式。

    2023-07-31 22:40:22
    赞同 展开评论
  • 北京阿里云ACE会长

    在 Flink CDC 中获取维表数据的方式,通常有两种方式:批量批量获取和单条记录获取。

    批量批量获取:在批量批量获取的方式中,Flink CDC 将所有的维表数据一次性加载到 Flink 的内存中,然后通过 Flink 的 Join 算子对流数据和维表数据进行关联。该方式适用于维表数据比较小的且可以全部加载到内存中的情况,可以减少和维表数据库的交互次数,提高查询的效率。

    单条记录获取:在单条记录获取的方式中,Flink CDC 会根据流数据的键值,单独向维表数据库发送查询请求,获取对应的维表数据。这种方式适用于维表数据

    2023-07-29 15:37:05
    赞同 展开评论
  • 意中人就是我呀!

    没设缓存就是1对n,n可以是1,2,3,4, 取决于你on的key。能拿到几条。此回答整理至钉群“Flink CDC 社区”。

    2023-07-26 12:16:48
    赞同 展开评论

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

还有其他疑问?
咨询AI助理