【问题标题】:How to let kedro execute nodes in sequence如何让kedro顺序执行节点
【发布时间】:2021-09-10 03:21:30
【问题描述】:

我正在尝试使用 kedro 来运行工作流程。下图是我的工作流程(节点 1-3 是连续的,节点 31、32 和 33 是​​来自节点 3 的三个分支)。您可以看到 kedro 是从 1 到 3 顺序运行的,因为节点之间存在明显的依赖关系。但是,当涉及到 31、32 和 33 节点时,kedro 只是随机运行。它可以从 31 或 32 或 33 开始。有没有人知道我可以让 kedro 先运行 31,然后运行 ​​32,然后运行 ​​33?谢谢!

我已经尝试标记所有节点,但是当kedro运行到31到33的节点时,运行顺序是随机保持的

【问题讨论】:

    标签: kedro


    【解决方案1】:

    因此,Kedro 在运行时对节点进行拓扑排序,并且不能保证您获得相同的运行顺序。

    人们经常尝试解决此问题的方法是将您的管道分解为子管道并通过 CLI 调用它们。

    kedro run --pipeline a && kedro run --pipeline b

    另一个选项是创建一个虚拟数据集依赖项,它强制节点按照您希望它运行的顺序运行。

    【讨论】:

    • 感谢您的回复。正如您所说,kedro 将在运行时对节点进行排序。那么kedro是如何进行这种排序的,基于什么条件呢?
    • 对不起 - 我没有看到这个。我们使用拓扑排序,你可以在这里看到实现:github.com/quantumblacklabs/kedro/blob/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    相关资源
    最近更新 更多