gpt4 book ai didi

Azure 数据工厂 - 仅当 azure sql 数据库不存在时才在其中插入行

转载 作者:行者123 更新时间:2023-12-03 06:59:22 25 4
gpt4 key购买 nike

我有一个 Excel 文件作为源,需要使用 Azure 数据工厂将其复制到 Azure SQL 数据库中。

仅当数据库中不存在行时,ADF 管道才需要将行从 Excel 源复制到 SQL 数据库。如果它存在于 SQL 数据库中,则无需采取任何操作。

期待最佳优化方案。

最佳答案

您可以使用 Azure 数据工厂数据流来实现此目的,方法是连接源数据和接收器数据,并过滤要插入的新插入行(如果接收器数据库中不存在该行)。

示例:

  1. 将 Excel 源连接到数据流中的 转换。

enter image description here

来源预览:

enter image description here

  • 如果需要,您可以使用派生列转换来转换源数据。这是可选的。

  • 添加另一个转换并将其与接收器数据集(Azure SQL 数据库)连接。在“源”选项中,如果要将接收器数据集的所有列与源数据集进行比较,则可以选择一个表,也可以选择“查询”并编写查询以仅选择匹配的列。

  • enter image description here enter image description here

    源2输出:

    enter image description here

  • 使用 Join 转换连接 source1 和 source2 转换,连接类型为左外连接,并根据要求添加连接条件。
  • enter image description here

    连接输出:

    enter image description here

  • 使用 filter 转换,从连接输出中过滤掉现有行。
  • 过滤条件:isNull(source2@Id)==true()

    enter image description here

    过滤输出:

    enter image description here

  • 使用Select 转换,您可以从列表中删除重复的列(如 source2 列)。您还可以在接收器映射中通过手动编辑并删除重复行来执行此操作。
  • enter image description here

  • 添加sink并连接到sink数据集(azure SQL数据库)以获取所需的输出。
  • enter image description here

    关于Azure 数据工厂 - 仅当 azure sql 数据库不存在时才在其中插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72569417/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com