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

Flink CDC中为oracle cdc 指定chunkcloum 全量阶段数据更新增量无法同步?

Flink CDC中oracle cdc 指定chunkcloum 全量阶段如果发生数据更新的话后边增量就同步不到,如果默认用rowid就没问题,怎么解决?

展开
收起
十一0204 2023-08-09 08:01:15 128 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 Flink CDC 的 Oracle CDC 连接器中,当在全量阶段指定了 chunkcloum(也称为split_column)时,如果该列在全量阶段发生了数据更新,可能会导致后续增量阶段无法正确同步更新的数据。

    这是因为在全量阶段,Oracle CDC 连接器会按照 chunkcloum 列进行数据切分,并使用切分后的范围进行数据抓取。如果在全量阶段,chunkcloum 列的数据发生了更新,那么在后续的增量阶段,这些更新的数据将无法被正确地捕获和同步。

    为了解决这个问题,你可以考虑以下两种方法:

    使用 rowid 作为 chunkcloum 列:你已经提到使用 rowid 作为 chunkcloum 列没有问题,因为 rowid 是一个内置的唯一标识符,不会发生数据更新。如果使用 rowid 作为 chunkcloum 列,可以确保在全量阶段发生数据更新时,后续的增量阶段仍然能够正确捕获和同步。

    调整全量和增量阶段的策略:你可以考虑将全量和增量阶段的策略进行调整,以解决数据更新导致的同步问题。例如,可以在全量阶段使用 rowid 作为 chunkcloum 列进行切分,确保全量数据的完整性。然后,在增量阶段使用其他方法(如主键、时间戳等)来捕获和同步变更数据。这样可以避免全量阶段数据更新导致的同步问题。

    2023-08-13 17:48:18
    赞同 展开评论 打赏

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

相关产品

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

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

    相关镜像