Python 管道可以';在kedro中找不到节点
我在下面,创建了所有需要的文件,用Python 管道可以';在kedro中找不到节点,python,kedro,Python,Kedro,我在下面,创建了所有需要的文件,用kedro run--node=preprocessing_data启动了kedro,但遇到了这样的错误消息: ValueError: Pipeline does not contain nodes named ['preprocessing_data']. 如果我在没有节点参数的情况下运行kedro,我将收到 kedro.context.context.KedroContextError: Pipeline contains no nodes 文件内容:
kedro run--node=preprocessing_data
启动了kedro,但遇到了这样的错误消息:
ValueError: Pipeline does not contain nodes named ['preprocessing_data'].
如果我在没有节点
参数的情况下运行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
我认为您需要将管道设置为
\uuuuu default\uuuu
。
e、 g
然后,
kedro run--node=preprocessing\u data
对我有效。Mayurc是正确的,没有节点,因为您的\u默认管道是空的。另一个选项是使用cli仅运行de
管道
kedro运行——管道de
您可以在run命令的帮助文本中找到此选项以及更多内容
$kedro运行--帮助
用法:kedro运行[选项]
运行管道。
选项:
--从输入文本中,列出应用作
起点。
--“从节点”文本应用作
起点。
--“到节点”文本应用作
终点。
-n、 --节点文本仅运行具有指定名称的节点。
-r、 --运行程序文本指定要运行管道的运行程序
具有
此选项不能与一起使用
--平行。
-p、 --使用“ParallelRunner”并行运行管道。
如果
未指定,请使用“SequentialRunner”。这
标志不能一起使用
和——跑步者。
-e、 --env TEXT在配置的环境中运行管道。如果
未指定,
管道将使用环境运行
`本地`。
-t、 --标记文本仅使用具有
这个标签
附属的。选项可用于多个
时代,什么导致了一场灾难
管道由
具有任何这些标记的节点。
-lv,--load version TEXT指定特定的数据集版本(时间戳)
用于装载。
--要运行的模块化管道的管道文本名称。
如果没有设置,
默认情况下,将运行项目管道。
-c、 --配置文件指定要加载运行的YAML配置文件
来自的命令参数。如果命令行参数
如果提供,他们将
覆盖已加载的。
--参数文本指定要传递的额外参数
到
上下文初始值设定项。项目必须分开
通过逗号、键和冒号,
例子:
param1:value1,param2:value2。每个参数都是
被第一个逗号分开,
所以参数值是
允许包含冒号,但不允许包含参数键。
-h、 --帮助显示此消息并退出。
发布了第二个答案,因为完整的帮助输出不适合注释。为什么说“kedro.framework.context.context.KedroContextError:找不到名为“default”的管道。它需要由“register\u pipelines”函数生成并返回。我在管道注册表文件中调用了该函数?
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([])
}
def create_pipelines(**kwargs) -> Dict[str, Pipeline]:
de_pipeline = de.create_pipeline()
return {
"de": data_engineering_pipeline,
"__default__": data_engineering_pipeline
}