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

DataWorks主键冲突策略为啥不可以是丢弃 已经存在的数据可能更新 ?

DataWorks主键冲突策略为啥不可以是丢弃 已经存在的数据可能更新 ?image.png
选择视为脏数据 然后忽略吧 ?

展开
收起
cuicuicuic 2023-11-07 17:44:25 46 0
2 条回答
写回答
取消 提交回答
  • 在 ODPS 中,主键冲突策略默认情况下采用忽略模式,即出现主键冲突时将不会覆盖已存在的记录,而是记录一条错误信息并继续执行后续的任务。这意味着如果有重复的记录,则最终的结果将是混合了新旧数据的表。
    在特殊情况下,您可以尝试使用 Replace Into 模式或 On Duplicate Key Update 模式来处理主键冲突,如下所示:

    1. 使用 REPLACE INTO 模式将冲突的记录替换成新的记录。
    REPLACE INTO target_table SELECT * FROM source_table;
    
    1. 使用 On Duplicate Key Update 模式根据主键更新记录。
    INSERT INTO target_table SELECT * FROM source_table ON DUPLICATE KEY UPDATE some_column = VALUES(some_column);
    
    2023-11-07 22:26:53
    赞同 展开评论 打赏
  • insert into是冲突时丢弃 可以选择容忍脏数据,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-11-07 22:16:10
    赞同 展开评论 打赏

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

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks高效数据分析最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载

    相关实验场景

    更多