【问题标题】:Resume from point-of-failure in Copy activity Azure Data Factory从复制活动 Azure 数据工厂中的故障点恢复
【发布时间】:2021-04-18 10:13:23
【问题描述】:

假设我正在尝试使用 ADF 复制活动将表中的 1000 条记录从数据库复制到 Azure SQL DB/Synapse。如果复制 600 条记录后复制活动失败,是否可以重新运行/重新启动管道,以使复制活动避免复制已复制的记录(在早期运行中复制的 600 条记录)并从剩余的 400 条记录中恢复复制操作?

【问题讨论】:

    标签: azure-data-factory


    【解决方案1】:

    您必须在 COPY 活动中添加自定义脚本来检查目标,然后仅从源中获取目标中不可用的那些记录。

    您可以将新记录存储在临时表中,然后使用临时表插入目标表。

    谢谢!

    【讨论】:

    • @Scarface:如果这个答案有帮助,那么您可以将其标记为答案,以便社区中的其他人可以从中受益,谢谢!
    【解决方案2】:

    你可以通过使用水印技术来实现,因为你有 SQL 作为它应该锻炼的源。使用查找活动来获取表主键的最大值(在目标端)。获得该信息后,创建一个 SQL 脚本以从源表中提取数据,但添加过滤器 例如

    SELECT  from your table 
    WHERE   pkId  > '@{activity('Get WaterMark').output.firstrow.pkid}'
    

    这应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 1970-01-01
      • 2020-09-15
      • 2016-09-23
      • 1970-01-01
      • 2021-06-10
      • 2021-05-31
      • 1970-01-01
      • 2022-11-11
      相关资源
      最近更新 更多