如何将动态数据从onx sqlserver复制到azure datawarehouse

时间:2018-01-08 10:08:53

标签: azure azure-data-factory azure-sqldw

我创建了一个链接服务,它从内部获取数据并存储到azure blob中,但我的数据是动态的,我如何构建一个管道,将更新的表格带入blob并获取该blob并将其转移到天蓝色的数据仓库,我需要这样,以便我的所有表格实时同步到天蓝色的数据仓库。

1 个答案:

答案 0 :(得分:1)

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

下面描述的程序是documented here。它假定您将整个源表定期快照到blobstorage中。

  1. 您需要选择一列来跟踪表格中的更改。
    • 如果您只是追加并且从不更改现有行,则主键将完成此任务。
    • 但是,如果您必须应对现有行的更改,则需要一种方法来跟踪这些更改(例如,使用名为&#34的列;最后更新时间戳" - 或者更好,更简洁的名字)。
      • 注意:如果您没有这样的列,您将无法跟踪更改,因此无法逐步加载数据。
  2. 对于给定的快照,我们对源表中添加或更新的行感兴趣。此内容称为与快照关联的 delta 。计算delta后,可以使用调用存储过程的Copy Activity将其置于表中。 Here您可以找到有关如何完成此操作的详细信息。
  3. 假设选定列的值只会随着在源表中添加/更新行而增长,则必须通过快照跟踪其最大值。此跟踪值称为水印This page描述了一种将水印持久保存到SQL Server的方法。
  4. 最后,您需要能够在给定存储的最后一个水印的情况下计算给定快照的增量。基本思想是选择所选列大于存储水印的行。您可以使用SQL Server(如引用文档中所述)执行此操作,也可以使用HDInsight上的Hive进行此过滤。
  5. 一旦将delta插入数据仓库,请不要忘记使用所选列的最大值更新水印。