如何在Kedro Catalog中处理首次运行时缺失的依赖文件?
Kedro处理首次运行文件缺失的方案
完全可以用Kedro内置参数解决,不用手动创建空文件:
- 用
optional=True参数(推荐,新版本Kedro统一用这个):在catalog.yml中给目标数据集配置这个参数,首次运行时如果文件不存在,Kedro不会抛出缺失错误,而是将该数据集传入节点时设为None。你只需要在节点代码里判断是否为None,再执行对应的初始化逻辑即可。
示例catalog配置:
节点代码示例:my_reusable_data: type: pandas.CSVDataSet filepath: data/03_primary/reusable_file.csv optional: Truedef process_data(my_reusable_data=None): if my_reusable_data is None: # 首次运行:初始化空DataFrame或从头生成数据 df = pd.DataFrame(columns=["id", "value"]) else: # 非首次运行:复用已有数据 df = my_reusable_data # 后续业务处理逻辑 return df - 旧版本Kedro(0.17.x及更早)曾用
missing=True,但这个参数已经被废弃,现在官方推荐用optional=True替代。
- 用
对比你当前的方案:用
optional=True更贴合Kedro的设计,无需提前创建空文件,逻辑更简洁清晰。
内容的提问来源于stack exchange,提问作者Nandha Kumar
相关产品推荐
相关产品推荐

