繁体   English   中英

ADF 复制活动中的 Upsert 选项

[英]Upsert Option in ADF Copy Activity

使用“ upsert选项”,我是否应该期望在复制活动结果摘要中看到“ 0 ”作为“ Rows Written ”? 我的情况是这样的:源表和汇表列完全相同,但关键列告诉它如何知道写行为是正确的。 我已经测试并确保它确实根据我提供给它的数据进行插入或更新但我不明白的是如果我进行零更改并继续运行管道,为什么它不显示“零” Rows Written总结?

即使源和目标具有相同数据,rowsWritten 也未显示为0的主要原因是:

  • Upsert在目标表中不存在键列值时插入数据,并在目标表中找到键列时更新其他行的值。
  • 因此,它正在修改所有记录,而不管数据的变化。 与 SQL Merge一样,没有办法告诉复制活动如果整行已经存在于目标表中,则忽略这种情况。
  • 因此,即使key_column匹配,它也会更新列的 rest 的值,因此算作 row written 以下是2个案例的例子

source 和 sink 的行相同:

  • 存在的行:
id,gname
1,Ana
2,Ceb
3,Topias
4,Jerax
6,Miracle

在此处输入图像描述

插入全新的行时:

  • 源中存在的行是(接收器数据如上所示):
id,gname
8,Sumail
9,ATF

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM