开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

dataworks数据集成勾选全量初始化,同步过程中遇到主键冲突的处理方式不是更新?

dataworks数据集成(实时同步mysql到holo)勾选全量初始化,同步过程中遇到主键冲突的处理方式不是更新?是新增一条不同id主键的记录吗?比如:在mysql中的表t1有主键id=1的记录,同时这条记录已经在holo对应表中存在了,也是id=1;这时全量初始化过去,又会重复这条记录只是id不重复?

展开
收起
真的很搞笑 2023-11-14 08:03:35 112 0
4 条回答
写回答
取消 提交回答
  • 在DataWorks数据集成中,全量初始化是指从源端数据库拉取库表结构迁移至目标库。如果在这个过程中遇到主键冲突,即同一条记录在源库和目标库中都存在,那么DataWorks的处理方式并不是简单的更新或新增一条不同id的主键记录。实际上,DataWorks会进行去重处理,也就是说,在同步过程中,系统会自动识别并剔除那些在源库和目标库中都存在的重复记录,以确保数据的一致性。所以,您无需担心因为主键冲突而导致的数据重复问题。

    2023-11-30 14:01:12
    赞同 展开评论 打赏
  • 是的,在全量初始化阶段,当主键冲突时,如果是非增量更新模式,则 DataWorks 将不会覆盖现有的数据,而是增加一个新的记录,但是新的记录不会带入原始表中的数据。所以如果有冲突的情况,可以考虑设置不同的主键策略,例如序列化等。

    2023-11-14 21:53:35
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    如果DataWorks中实时同步MySQL到Holodesk遇到主键冲突的情况,全量初始化时不会执行更新操作,而是选择执行INSERT语句,插入一条新记录,因为这样可以避免主键冲突的问题。

    1. 如果您的应用需要完全复制主键,可以尝试重新设计表结构,使其不要依赖主键进行复制;
    2. 可以使用一些高级功能,例如使用增量同步的方式,仅复制变更数据。
    2023-11-14 13:22:03
    赞同 展开评论 打赏
  • 第二条数据会被忽略 保留第一条数据image.png
    ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-11-14 11:40:35
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 热门讨论

    热门文章

    相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载