如何 运行 按 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.
在 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.