如何使用 azure 数据工厂替换 azure sql 数据库中的数据?

how to replace data in azure sql database using azure data factory?

我想了解是否可以在我的管道每次摄取新数据时将 azure sql 数据库中的数据替换为最新数据。我有一条管道将数据从 azure blob 存储传输到 azure sql,但我面临的挑战是该管道每 5 分钟运行一次,它正在连接数据库中现有 table 的新数据我希望它在每次管道 运行 时替换数据。我已经尝试了互联网上的所有方法,但没有任何效果,现在我的 azure sql 的 space 已经用完了。

任何有帮助的东西都将不胜感激。谢谢

如何更新数据取决于数据生命周期。听起来您想要截断并替换或合并。

  1. 创建登陆 table 和最终 table 进行报告。
  2. ADF 复制组件在接收器中具有预脚本功能。在前脚本功能中截断要将数据导入的 table,然后将数据从 ADL 导入到着陆点 table.
  3. 通过包含在事务中的存储过程,将最终的 table 更新为来自登陆 table 的 try/catch。在失败的尝试中,回滚事务并抛出错误。登陆 table 允许您使用插入将截断包装在事务中,防止您在插入问题上出现空 table。

截断并替换

  1. 开始交易
  2. 截断最后的 table
  3. 开始交易
  4. 从登陆中插入table并提交事务
  5. 开始接球
  6. 回滚事务并抛出错误。

合并

  1. 开始交易
  2. 开始尝试
  3. 当在源中发现不在目标中的数据时,THEN 惰性进入目标。
  4. 当在源中发现目标中的数据但与目标不同时,则更新目标。
  5. 当在目标中找到不在源中的数据时,然后从目标中删除。
  6. 提交交易
  7. 开始接球
  8. 回滚事务并抛出错误。