如何将动态数据从本地 sqlserver 复制到 azure 数据仓库



我创建了一个链接服务,该服务从本地获取数据并存储到 azure blob 中,但我的数据是动态的,如何构建一个管道,将更新的表放入 blob 中,并将该 blob 传输到 azure 数据仓库中,我需要这样一种方式,以便我的所有表都实时同步到 azure 数据仓库中。

您可能正在寻找的是将数据增量加载到数据仓库中。

此处记录了下面描述的过程。它假定你将整个源表的定期快照放入 blob 存储中。

  1. 您需要选择一列来跟踪表中的更改。
    • 如果只追加而不更改现有行,则主键将完成这项工作。
    • 但是,如果您必须处理现有行中的更改,则需要一种方法来跟踪这些更改(例如,使用名为"时间戳上次更新"的列 - 或任何更好、更简洁的名称)。
      • 注意:如果没有这样的列,您将无法跟踪更改,因此将无法增量加载数据。
  2. 对于给定的快照,我们对源表中添加或更新的行感兴趣。此内容称为与快照关联的增量。计算增量后,可以使用调用存储过程的复制活动将其更新到表中。在这里,您可以找到有关如何完成此操作的详细信息。
  3. 假设所选列的值只会随着源表中行的添加/更新而增长,因此有必要通过快照跟踪其最大值。此跟踪值称为水印。本页介绍一种将水印保存到 SQL Server 中的方法。
  4. 最后,您需要能够在给定存储的最后一个水印的情况下计算给定快照的增量。基本思想是选择所选列大于存储水印的行。可以使用 SQL Server(如参考文档中所述)执行此操作,也可以使用 HDInsight 上的 Hive 执行此筛选。
  5. 不要忘记
  6. 在将增量插入到数据仓库后,使用所选列的最大值更新水印。

相关内容

  • 没有找到相关文章

最新更新