跳到主要内容

主键模型的导入更新

在实时数仓与业务库同步场景中,用户经常面临以下问题:

  • 业务表的数据需要根据主键持续更新(如订单状态变更、用户画像刷新),希望写入时能自动判断"插入"还是"更新"。
  • 仅有部分字段发生变化(如只更新订单的 status),不希望每次都拼装完整记录。

针对上述场景,Doris 主键模型(Unique 模型)支持基于导入的两种更新方式:整行更新部分列更新。本文档介绍这两种更新方式的使用方法。

整行更新

Doris 主键模型的导入是一种 Upsert 模式:写入新数据时,按主键自动判断执行"插入"还是"更新"。

场景行为
主键不存在插入新数据行
主键已存在用新数据覆盖原有数据行

支持的导入方式包括:

  • Stream Load
  • Broker Load
  • Routine Load
  • Insert Into

整行更新与导入新记录的操作完全一致,详细用法可参考数据导入相关文档。

部分列更新

当只需要更新部分字段时,可以使用主键模型的部分列更新能力,避免拼装完整记录。详细说明(包括使用示例、灵活部分列更新和新行处理等)请参考列更新文档。