2017-05-25 110 views
0

不确定这是一个明确的问题还是仅仅是输入查询。我正在查看Azure Data Factory以实施数据迁移操作。我想要做的是以下几点:Azure数据工厂数据迁移

我有一个没有SQL DB与两个集合。这些集合通过一个公共属性关联。 我有一个MS SQL Server数据库,其数据与No SQL DB Collections内的数据通过属性/列相关。

其中一个NoSQL DB集合将定期更新,另一个不是经常更新。

我想要做的就是准备一个数据工厂管道,它将抓取来自所有3个数据库位置的数据,并根据公共属性将它们组合起来,这将产生一个新的数据集。然后从该数据集将数据集中的数据推送到另一个SQL Server数据库。

我对数据工厂内如何完成这件事有点不清楚。有一个复制活动,但只适用于单个数据集输入,所以我不能直接使用它。我发现数据转换活动的概念看起来像是特定于按摩输入数据集以生成新数据集,但我不清楚哪些数据与我想要执行的活动相关。

我确实发现有一种称为自定义活动的特殊活动,实际上是一种用户定义的定义,可以根据您的需要进行开发。这看起来最接近于能够做我需要的东西,但我不确定这是否是最佳解决方案。

最重要的是,我还不清楚如果需要连接来自3个不同来源的数据需要合并3个数据源的方式,但不知道如果数据集只是如何操作来源数据的快照,导致我认为发生数据丢失的可能性。我不确定是否需要在某个地方发布某些数据的概念,但似乎实际上是为相同的数据维护两个商店。

对此的任何输入都会有所帮助。

+0

我认为这太宽了,所以没有。听起来似乎需要雇用架构师为您设计解决方案。 –

回答

0

有很多事情你正在尝试做。 我不知道你是否有过使用SSIS的经验,但是你想要做的事对于这些集成工具是相当普遍的。

Your ADF diagram should look something like: 
1. You define your 3 Data Sources as ADF Datasets on top of a 
corresponding Linked service 
2. Then you build a pipeline that brings information from SQL Server into a 
temporary Data Source (Azure Table for example) 
3. Next you need to build 2 pipelines that will each take one of your NoSQL 
Dataset and run a function to update the temporary Data Source which is the ouput 
4. Finally you can build a pipeline that will bring all your data from the 
temporary Data Source into your other SQL Server 

步骤2和步骤3可以根据哪个源是主设备进行切换。

ADF可以一个接一个地或同时运行多个任务。简单地分解逻辑作业中的任务,你就不会有任何问题提出解决方案。