我是使用数据工厂的新手,有两个管道。
-
管道A 包含活动A ,该活动每次运行一次
30 minutes
并生成 dataSet a 。活动A是在数据湖存储中生成.csv文件的复制活动。 -
管道B 包含活动B ,每
24 hours
运行一次,需要 dataset a 。
- 我本可以避免在数据工厂表示中的管道B中消耗数据集A。但是,恐怕管道A可能会在管道B处于活动状态和运行时可能开始运行和损坏数据集。
如何制作管道B 消费数据集A ?
- 我想到的唯一方法是在 pipeline b 中重新创建活动A ,并重做与管道A的任务相同的任务A:(
我的问题是:有没有一种方法可以做到这一点,而无需重复第二个管道中的活动?
我假设这是adfv1?
就是这样,活动之间的复杂依赖性很难实现。大多数情况下,V1中支持的是"活动A产生数据集A,活动B会消耗数据集A",因此活动B直到Actives A完成后才启动。请注意,这些活动不必处于同一管道中。
您不会说您的活动在做什么,而是假设Active A将某些内容复制到Data Lake Store文件夹,然后Active B将其在其他地方的文件夹中复制;我很确定您只能使用数据集A设置活动b为输入,并且B将在可用的相关切片后才运行 - 请参阅具有不同频率的模型数据集。
但是,如果活动a在Data Lake Store中更新活动B正在消耗的东西中,那么即使活动B已经运行,也没有任何停止活动A从运行下一个切片的方法。在这种情况下,可能值得考虑对您的解决方案进行重新研究,以便A活动简单地将数据集转载到登台文件夹中,然后活动B然后消耗所有这些数据集来创建合并的数据集。
作为最后的注意,在ADFV2的预览发布中,现在还有更多用于分支和控制流的选项,甚至还有执行SSIS软件包的能力。...可能是清洁解决方案的选项:)