我的 Azure 数据工厂上有 5 个管道,每个管道将数据复制到不同的表。其中一些表存在依赖关系,表 D 和 E 依赖于表 A、B 和 C。如本例所示:
Table dependencies & Pipelines
我刷新所有数据的执行顺序如下:
到表 A 的执行管道 > 到表 B 的执行管道 > 到表 C 的执行管道 > 到表 D 的执行管道 > 到表 E 的执行管道。
我可以在执行到表 D 的管道之前执行到表 E 的管道,没有任何问题,但是它们都不能在表 A、B 和 C 的管道之前执行。
我必须让这个更有条理、更容易安排的想法是更改管道 D 并添加 3 个步骤来执行表 A、B 和 C 的管道。在表 E 的管道上,我添加了一个执行步骤管道 D。如示例所示:
但是,这会创建表 E 与表 D 的某种依赖关系,这是我不想要的。如果我出于任何原因需要只更新表 E,它将无法完成,因为我需要先更新表 D。
我希望到表 D 和 E 的管道都具有某种验证,如果到表 A、B 和 C 的管道已经运行,那么它们就可以运行。
有没有办法让这种依赖关系更有组织性?
最佳答案
要使管道相互依赖,您可以创建一个触发器并使这些触发器依赖于其他触发器。
要创建依赖管道,我们可以使用Tumbling window trigger
为通过管道传输到表 A、B、C
创建触发器
Trigger >> New/Edit >> Choose Trigger >> New >> Type-Tumbling window >> Configure Properties >>Save
使到表D、E的管道
依赖于到表A、B、C的管道
Select Trigger > Advanced > New, then choose the trigger to rely on with the proper offset and size. This will create dependent on the trigger.
示例
In above example
Trigger 4
is created forpipeline 4
And in Dependencies added Trigger 1, 2, 3 which are created for pipeline 1, 2, 3 respectively.
此依赖的翻滚窗口触发器
仅在服务内的另一个触发器成功执行时执行。
关于azure - 有没有办法在管道之间创建依赖关系? (单个管道依赖于其他 3 个管道),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73141844/