我正在关注 pipelines tutorial ,创建所有需要的文件,使用 kedro run --node=preprocessing_data 启动 kedro 但遇到了这样的错误消息:

ValueError: Pipeline does not contain nodes named ['preprocessing_data'].

如果我在没有 node 参数的情况下运行 kedro,我会收到
kedro.context.context.KedroContextError: Pipeline contains no nodes

文件内容:
src/project/pipelines/data_engineering/nodes.py
def preprocess_data(data: SparkDataSet) -> None:
    print(data)
    return
src/project/pipelines/data_engineering/pipeline.py
def create_pipeline(**kwargs):
    return Pipeline(
        [
            node(
                func=preprocess_data,
                inputs="data",
                outputs="preprocessed_data",
                name="preprocessing_data",
            ),
        ]
    )
src/project/pipeline.py
def create_pipelines(**kwargs) -> Dict[str, Pipeline]:
    de_pipeline = de.create_pipeline()
    return {
        "de": de_pipeline,
        "__default__": Pipeline([])
    }

最佳答案

我认为您似乎需要在 __default__ 中设置管道。
例如

def create_pipelines(**kwargs) -> Dict[str, Pipeline]:
    de_pipeline = de.create_pipeline()
    return {
        "de": data_engineering_pipeline,
        "__default__": data_engineering_pipeline
    }

然后 kedro run --node=preprocessing_data 对我有用。

关于python - 管道在kedro中找不到节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60355240/

10-12 21:06