我是新手使用数据工厂并有两个管道。
渠道A 包含每隔30 minutes
运行一次的活动A ,并生成数据集A 。活动A是在数据存储区中生成.csv文件的复制活动。
管道B 包含活动B ,每24 hours
运行一次,需要数据集A 。
- 我本可以避免数据工厂表示中管道B中数据集A的消耗。但是,我担心管道B可能会在管道B处于活动状态并且正在运行时开始运行并损坏数据集。
如何使管道B 消耗数据集A ?
我的问题是:有没有办法可以在不重复第二个管道中的活动的情况下做到这一点?
答案 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包的能力......可能是更清洁解决方案的选择:)