繁体   English   中英

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

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

在 Kedro 管道中,节点(类似于 python 函数)是按顺序声明的。 在某些情况下,一个节点的输入是前一个节点的 output。 但是,有时在命令行中调用kedro run 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 目前仅根据数据集依赖关系(节点输入和输出)确定节点执行顺序。 因此,指示节点 A 应在节点 B 之前运行的唯一选择是将虚拟数据集作为节点 A 的 output 和节点 B 的输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM