簡體   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