flink cdc 中,mongo 4.2,flink 1.15.3,hudi 0.12.2, 看t

flink cdc 中,mongo 4.2,flink 1.15.3,hudi 0.12.2, 看topology graph确实是changelogNormalize节点的问题,有没有推荐的优化方案?

展开
收起
提个问题 2023-07-24 14:34:16 205 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 Flink CDC 中,changelogNormalize 节点通常是用来将 CDC 数据流中的数据进行规范化处理,以便更好地适配 Flink 中的数据流处理模型。如果您在使用 Flink CDC 时发现 changelogNormalize 节点存在性能问题,可以考虑以下一些优化方案:
    调整并行度:在 CDC 任务中,changelogNormalize 节点的并行度通常需要根据数据流的大小和复杂度进行调整。如果并行度设置过高,可能会导致任务性能下降;如果并行度设置过低,则可能会导致任务无法充分利用集群资源。建议根据实际情况进行调整。
    使用 Flink 的 Watermark 机制:在 Flink 中,Watermark 机制可以用来处理乱序数据流。如果 CDC 数据流中存在乱序数据,可以考虑使用 Flink 的 Watermark 机制来更好地处理数据流,从而提高任务的性能和稳定性。
    优化代码逻辑:如果 CDC 任务中的 changelogNormalize 节点存在性能问题,可以考虑优化代码逻辑,例如减少数据复制、使用更高效的算法等。
    更新 Flink、MongoDB 和 Hudi 版本:如果您的 Flink、MongoDB 或 Hudi 版本过老,可能会存在一些性能问题。建议更新到最新版本,以获取更好的性能和稳定性。

    2023-07-29 18:55:29
    赞同 展开评论
  • 用rocksdb做状态后端,我之前同步mongo,状态也是随着数据量不断增大,最后checkpoint都不行,改成rocksdb后,开增量checkpoint就解决了。
    不过如果做savepoint也会很大。SET state.backend = rocksdb;
    SET state.backend.incremental = true;

    加这两行就好了,此回答整理自钉群“Flink CDC 社区”

    2023-07-24 14:35:15
    赞同 展开评论

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

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