【问题标题】:Copy data activity in Azure Data FactoryAzure 数据工厂中的复制数据活动
【发布时间】:2020-09-15 05:09:20
【问题描述】:

我有一个 adf 管道,它使用复制数据活动将数据从 blob 存储复制到表存储。此管道每天在触发器上运行一次。我很想知道这个复制数据活动是如何工作的。在管道运行期间,它是清除表并将数据从 blob 复制到表,还是在比较后将任何更新的行添加到表中?

例如:

第一次运行后,表格包含以下行:

Row1 xyz 1

Row2 abc **2**

现在假设 blob 中的行更新如下:

Row1 xyz 1

Row2 abc **5**

在第 2 次运行期间,它是清除表并存储上述数据还是仅使用值 abc 和“5”而不是“2”更新 Row2

【问题讨论】:

  • 我 99.999% 确定它只是插入到表格中。它不应该首先截断表格[尽管您可以添加“预复制脚本”来这样做]。但它也没有做任何“比较”。如果您需要“upsert”功能,请考虑使用 Data Flow,它在这方面为您提供更多选择。
  • 谢谢! “只是插入”是指它不会从表中删除任何数据。假设我在表中有 100 行。在复制数据活动期间,我仍然可以看到表中的所有 100 行,而且我不必等到复制数据活动结束才能看到更新的 100 行?
  • 我并不是想学究气,但是当您说“更新”行时,您是指新行还是希望现有行更新?
  • 要更新的现有行

标签: azure-data-factory azure-data-factory-2


【解决方案1】:

ADF 复制活动不会更新表中的任何现有行。这是一个仅附加的过程。因此,如果您的表有主键约束,则复制活动将失败。

要执行 upsert 过程,您可以使用映射数据流或存储过程。

【讨论】:

    猜你喜欢
    • 2022-01-04
    • 1970-01-01
    • 2021-06-10
    • 2019-03-28
    • 2020-11-25
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 2022-06-22
    相关资源
    最近更新 更多