ADF 复制数据活动 - 在插入 SQL 数据库之前检查重复记录

new*_*per 0 azure azure-data-factory azure-sql-database azure-data-factory-2

我有一个非常简单的 ADF 管道,用于将数据从本地 mongoDB(自托管集成环境)复制到 Azure SQL 数据库。

我的管道能够从 mongoDB 复制数据并插入到 SQL 数据库中。目前,如果我运行管道,它会在多次运行时插入重复数据。

我已经将 _id 列作为 SQL 数据库中的唯一列,现在运行管道抛出和错误,因为 SQL 约束不会让它插入记录。

如何在插入 SQL 数据库之前检查重复的 _id?

我应该使用预复制脚本/存储过程吗?一些指导/说明将有助于在何处添加额外步骤。谢谢

Leo*_*Yue 5

Azure 数据工厂数据流可以帮助您实现:

在此处输入图片说明

您可以按照以下步骤操作:

  1. 添加两个源:Cosmos db 表(source1) 和SQL 数据库表(source2)。
  2. 使用Join active 从 Cosmos table.id= SQL table.id 上的两个表(左联接/完全联接/右联接)中获取所有数据。 在此处输入图片说明

  3. AlterRow 表达式过滤重复的_id,不重复然后插入。 在此处输入图片说明

  4. 然后将非重复列映射到 Sink SQL 数据库表。

希望这可以帮助。