我们有一个父管道,它获取表列表并将其馈送到ForEach中。然后,在ForEach中,我们调用另一个传入一些配置的管道,这个子管道会移动作为配置传递的表的数据。
当我们大规模运行时,我经常看到在监视器中创建了20个左右的子管道实例。除4个外,其余4个都将"排队",其他4个将作为"正在进行"执行。我似乎找不到这个4的限制的任何设置。我们有几百个管道要执行,我真的可以一次执行4个以上。我已经在整个管道和任务中将并发性设置为20,因此我们启动了20个实例。但我不知道我需要做什么才能同时执行4个以上。
ForEach看起来像这个
ForEach循环中的活动看起来像这个
非常感谢
我想我已经找到了。在子管道(ForEach循环中执行的管道(上,General选项卡上有一个并发设置。我把这个设定为4。当我把它增加到8时,我得到了8次执行,当我增加到20时,我获得了20次执行。
似乎最多可以同时并行执行20个循环迭代。然而,文件有点不清楚。
控制此操作的BatchCount设置的最大值为50,默认值为20。但在isSequential的文档中,它指出最大值为20。
在限制和解决方法下,文档说明:ForEach活动的并行处理最大batchCount为50,最大为100000个项目
https://learn.microsoft.com/en-us/azure/data-factory/control-flow-for-each-activity