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

有小伙伴用Flink CDC复制存量数据有20亿数据量大小的表吗?

有小伙伴用Flink CDC复制存量数据有20亿数据量大小的表吗?可能有100G那么大,每次读取都会把内存撑爆,有什么通用的解决反感吗?

展开
收起
真的很搞笑 2023-10-23 14:52:33 73 0
2 条回答
写回答
取消 提交回答
  • 加大内存,你可以算一下你的数据大概1万行有多少mb,然后来调整你的chunk大小,默认8096,具体的值还要乘一个因子,比如我的tm heap是8g,solt是4,那每个solt就是2g空间,在ck 的interval时间内这个slot能进来n个chunk,那n×每个chunk大大小不能超过2g。主要就是调chunk大小和ck interval,此回答整理自钉群“Flink CDC 社区”

    2023-10-24 08:30:34
    赞同 展开评论 打赏
  • 对于大数据量的表,Flink CDC确实可能会遇到内存问题。这是因为Flink CDC需要将整个表的数据加载到内存中以进行数据变更的检测和同步。

    以下是一些可能的解决方案:

    1. 分区表:你可以考虑将大表分区成多个小表。这样,Flink CDC就可以为每个分区创建一个单独的任务,从而减少内存的使用。

    2. 增量复制:你可以尝试使用Flink CDC的增量复制模式。在这种模式下,Flink CDC只复制自上次同步以来发生的数据变化。这可以减少内存的使用,但可能会增加同步的时间。

    3. 调整任务内存:你可以尝试调整Flink CDC任务的内存分配。你可以增加任务的内存限制,或者使用更高效的内存分配策略。

    4. 使用外部表:你可以尝试使用Flink的外部表。外部表允许你直接从磁盘中读取数据,而不需要将数据加载到内存中。

    5. 使用批处理:对于大数据量的表,批处理可能是一个更好的选择。批处理可以在数据上执行复杂的转换,而不需要将数据加载到内存中。

    2023-10-23 16:45:39
    赞同 展开评论 打赏

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

相关产品

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

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