如何 运行 按 kedro 管道中声明的顺序排列节点?

How to run the nodes in sequence as declared in kedro pipeline?

在 Kedro 管道中,节点(类似于 python 函数)是按顺序声明的。在某些情况下,一个节点的输入是前一个节点的输出。但是,有时在命令行中调用kedro 运行 API 时,节点并不是运行 顺序

在 kedro 文档中,它表示默认情况下节点的顺序为 运行。

我的run.py代码:

def main(
tags: Iterable[str] = None,
env: str = None,
runner: Type[AbstractRunner] = None,
node_names: Iterable[str] = None,
from_nodes: Iterable[str] = None,
to_nodes: Iterable[str] = None,
from_inputs: Iterable[str] = None,
):

project_context = ProjectContext(Path.cwd(), env=env)
project_context.run(
    tags=tags,
    runner=runner,
    node_names=node_names,
    from_nodes=from_nodes,
    to_nodes=to_nodes,
    from_inputs=from_inputs,
)

目前我的最后一个节点有时 运行 在我的前几个节点之前。

我从 Kedro 那里得到的答案 github:

Pipeline determines the node execution order exclusively based on dataset dependencies (node inputs and outputs) at the moment. So the only option to dictate that the node A should run before node B is to put a dummy dataset as an output of node A and an input of node B.