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

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

展开
收起
真的很搞笑 2023-11-07 17:44:25 123 分享 版权
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等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

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