数据目录¶
在Kedro项目中,数据目录(Data Catalog)是一个注册表,记录了项目可用的所有数据源。该目录存储在一个YAML文件(catalog.yml)中,它将节点输入和输出的名称映射为DataCatalog类中的键。
kedro-datasets 包为常见文件类型和文件系统提供了内置数据集。
我们首先介绍catalog.yml的基本部分,该文件用于为Kedro项目注册数据源。
以下页面提供了针对不同数据目录用例的YAML规范示例:
熟悉catalog.yml的格式后,您可能会发现如果需要加载多个配置相似的数据集,目录会变得重复。从Kedro 0.18.12版本开始,您可以使用数据集工厂来泛化配置并减少类似目录条目的数量。其工作原理是将项目中管道使用的数据集与数据集工厂模式进行匹配,相关说明详见关于Kedro数据集工厂的新页面:
后续页面将介绍更高级的概念:
本节关于使用Kedro处理数据的内容将以一个高级用例作为结尾,该教程将解释如何创建自定义数据集:
KedroDataCatalog (实验性功能)¶
自Kedro 0.19.9版本起,您可以体验一项新的实验性功能——KedroDataCatalog,这是对DataCatalog的增强替代方案。
目前,KedroDataCatalog 复制了 DataCatalog 的功能,并与 Kedro 的 run 命令完全兼容。它引入了若干 API 改进:
简化的数据集访问:
_FrozenDatasets已被替换为公开的get方法来获取数据集。新增类字典接口:现在可以使用类似字典的语法来检索、设置和遍历数据集。
有关如何使用KedroDataCatalog的更多详细信息和示例,请参阅Kedro数据目录页面。
文档中关于DataCatalog的内容仍然适用,因为KedroDataCatalog在保留核心功能的同时进行了一些增强。
注意
KedroDataCatalog 正在积极开发中,未来版本可能会进行重大变更。虽然我们鼓励您尝试使用,但请注意随着我们持续改进可能会带来的潜在修改。此外,所有即将推出的目录相关功能都将通过 KedroDataCatalog 引入,然后才会取代 DataCatalog。
我们重视您的反馈——如果您对KedroDataCatalog有任何想法或建议,或希望提出潜在新功能,请通过我们的Slack频道告知我们。