首页 > 解决方案 > ADF 复制数据活动 - 在插入 SQL 数据库之前检查重复记录

问题描述

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

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

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

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

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

标签: azureazure-sql-databaseazure-data-factoryazure-data-factory-2

解决方案


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

在此处输入图像描述

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

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

  3. AlterRow 表达式过滤重复的_id,它不重复然后插入它。 在此处输入图像描述

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

希望这可以帮助。


推荐阅读