我在 Kedro 有一个管道,如下所示:
from kedro.pipeline import Pipeline, node
from .nodes import *
def foo():
return Pipeline([
node(a, inputs=["train_x", "test_x"], outputs=dict(bar_a="bar_a"), name="A"),
node(b, inputs=["train_x", "test_x"], outputs=dict(bar_b="bar_b"), name="B"),
node(c, inputs=["train_x", "test_x"], outputs=dict(bar_c="bar_c"), name="C"),
node(d, inputs=["train_x", "test_x"], outputs=dict(bar_d="bar_d"), name="D"),
])
节点 A、B 和 C 不是很占用资源,但它们需要一段时间,所以我想并行运行它们,另一方面,节点 D 几乎使用了我所有的内存,如果它会失败与其他节点一起执行。有没有办法告诉 Kedro 在执行节点 D 之前等待 A、B 和 C 完成并保持代码有条理?