Kedro 框架入门教程
kedro项目地址:https://gitcode.com/gh_mirrors/ked/kedro
本文档将引导您了解 Kedro 的核心概念和关键组件,包括项目目录结构、启动文件和配置文件。让我们从基础开始。
1. 项目的目录结构及介绍
Kedro 项目通常具有以下标准目录结构:
├── conf/
│ ├── local/ # 本地开发环境配置
│ └── ...
├── src/
│ ├── pipelines/ # 存放数据处理和机器学习管道
│ │ ├── __init__.py # 管道初始化文件
│ │ └── pipeline_name.py # 具体管道定义文件
│ ├── data/ # 数据集存储
│ ├── models/ # 存储模型的目录
│ ├── nodes/ # 自定义节点的模块
│ ├── parameters/ # 参数模板
│ ├── templates/ # 模板文件
│ └── pipelines.py # 管道加载的主入口点
├── .kedro/ # Kedro 相关的配置和元数据
├── env/ # 可选的虚拟环境
└── ...
conf/
: 配置目录,包含了不同环境(如本地、测试、生产)的配置。src/
: 源代码目录,存放所有业务逻辑。pipelines/
: 包含定义数据处理和 ML 管道的文件。data/
: 存储数据集,可以是原始数据或预处理后的数据。models/
: 用于存储训练好的模型。nodes/
: 定义自定义操作(节点)的地方。parameters/
: 参数模板,用于传递给管道的参数。templates/
: 提供代码生成的模板。pipelines.py
: 加载和管理所有管道的中心位置。
.kedro/
: Kedro 运行时需要的隐藏目录,保存元数据和其他中间状态。env/
: 可选的虚拟环境,用于安装项目依赖。
2. 项目的启动文件介绍
在 Kedro 项目中,没有特定的“启动文件”。相反,你可以通过运行 kedro run
命令来启动一个管道。这个命令会自动执行 src/pipelines.py
中的代码,它负责加载和运行项目中的所有管道。
此外,如果你需要自定义启动流程,可以通过创建 run.py
文件实现。例如,创建 src/run.py
并添加一些自定义的启动代码,这样当运行 python src/run.py
时,你的自定义逻辑就会被执行。
from kedro.framework.session import KedroSession
def main():
session = KedroSession.create(package_name="your_project")
session.run()
if __name__ == "__main__":
main()
当你执行上述 run.py
文件时,Kedro 会根据配置文件和输入参数运行整个项目。
3. 项目的配置文件介绍
Kedro 使用 conf/
目录下的子目录来组织配置。这些子目录代表了不同的环境,例如 local
对应本地开发环境,prod
对应生产环境。
每个子目录包含一组 YAML 文件,这些文件用于设置项目参数和连接信息。常见的配置文件有:
local/catalog.yml
: 用于指定数据源的详细信息。local/pipeline.yml
: 控制哪些管道应该在本地环境中运行。local/parameters.yml
: 设置本地环境的参数值。
默认情况下,Kedro 会选择 conf/local
目录的配置。你可以通过设置 ENVIRONMENT
环境变量或者在命令行中指定 -e
或 --environment
来切换到其他环境。
例如,要使用生产环境的配置,可以运行 kedro run --environment=prod
。
了解以上基本信息之后,您现在应该对 Kedro 的基本工作原理有了初步的认识。接下来,您可以深入研究各个组件,以更好地适应实际的数据科学项目需求。