不太确定这是一个明确的问题或只是一个输入查询。我正在查看 Azure 数据工厂来实现数据迁移操作。我要做的是:
我有一个带有两个集合的无 SQL 数据库。这些集合通过公共属性关联。 我有一个MS SQL Server DB,其中包含通过属性/列与无SQL DB集合中的数据相关的数据。
其中一个NoSQL数据库集合将定期更新,另一个则不那么频繁地更新。
我想做的是能够准备一条数据工厂管道,该管道将从所有 3 个数据库位置获取数据,并根据公共属性将它们组合在一起,这将生成一个新的数据集。然后从此数据集将数据集中的数据推送到另一个 SQL Server DB。
我有点不清楚如何在数据工厂中完成此操作。有一个复制活动,但仅适用于单个数据集输入,所以我不能直接使用它。我看到有一个数据转换活动的概念,看起来像是特定于处理输入数据集以生成新数据集,但我不清楚哪些与我想要执行的活动相关。
我确实发现有一种称为自定义活动的特殊活动,它实际上是一个用户定义的定义,可以开发该定义来执行任何您想要的操作。这看起来最接近能够做我需要的事情,但我不确定这是否是最佳解决方案。
最重要的是,如果需要连接来自 3 个不同来源的数据,我也不清楚合并 3 个数据源将如何工作,但如果数据集只是原始源数据的快照,我不知道您将如何做到这一点,导致我认为发生丢失数据的可能性。我不确定是否需要在某个地方发布某些数据的概念,但似乎它实际上是为相同的数据维护两个存储。
对此的任何投入都会有所帮助。
你有很多事情要做。 我不知道您是否有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 可以一个接一个地或同时运行多个任务。只需将任务分解为逻辑作业,您就可以毫无问题地提出解决方案。