数据工厂使用不同时间间隔的数据集

时间:2017-10-04 01:19:10

标签: azure-data-factory

我是新手使用数据工厂并有两个管道。

  • 渠道A 包含每隔30 minutes运行一次的活动A ,并生成数据集A 。活动A是在数据存储区中生成.csv文件的复制活动。

  • 管道B 包含活动B ,每24 hours运行一次,需要数据集A

  
      
  • 我本可以避免数据工厂表示中管道B中数据集A的消耗。但是,我担心管道B可能会在管道B处于活动状态并且正在运行时开始运行并损坏数据集。
  •   

如何使管道B 消耗数据集A

  • 我能想到的唯一方法是重新创建管道B 中的活动A ,并重做与管道A相同的任务:(

我的问题是:有没有办法可以在不重复第二个管道中的活动的情况下做到这一点?

1 个答案:

答案 0 :(得分:0)

我假设这是ADFv1?

在这种情况下,活动之间的复杂依赖很难实现。大多数情况下,v1支持的是“活动A生成数据集A,活动B消耗数据集A”,因此活动B在活动A完成之前不会启动。请注意,这些活动不必位于同一个管道中。

您没有说明您的活动在做什么,但假设活动A将某些内容复制到数据湖商店文件夹,然后活动B将该文件夹中的所有内容复制到其他位置;我非常确定您可以将数据集A设置为活动B作为输入,并且在相关切片可用之前B不会运行 - 请参阅Model datasets with different frequencies

但是,如果活动A正在更新活动B正在使用的数据存储区中的某些内容,则即使活动B已在运行,也没有任何方法可以阻止活动A运行它的下一个切片。在这种情况下,可能值得考虑重新架构您的解决方案,以便活动A只将数据集转储到暂存文件夹中,然后活动B将使用所有这些数据集来创建合并数据集。

最后需要注意的是,ADFv2的预览版现已推出,还有更多的分支和控制流选项,甚至还有执行SSIS包的能力......可能是更清洁解决方案的选择:)