使用Kedro创建新项目的完整指南
什么是Kedro项目
Kedro是一个用于构建可维护、可扩展的数据科学项目的开源框架。它采用软件工程最佳实践,帮助数据科学家和工程师创建生产就绪的数据管道。一个Kedro项目包含了一组标准化的目录结构和配置文件,使得数据科学项目更加规范化。
创建基础项目
基本命令
要创建一个新的Kedro项目,最基础的方法是使用kedro new
命令。这个命令会生成一个包含基本文件和子目录的项目结构。
kedro new
执行此命令后,CLI会引导你完成项目创建的各个步骤。
项目命名规范
在创建项目时,首先需要为项目指定一个名称。这个名称需要遵循以下规则:
- 可以包含字母、数字、空格、下划线和连字符
- 至少需要2个字符长度
- 建议使用简洁明了的名称
项目名称会直接影响三个关键设置:
| 设置项 | 描述 | 示例 |
|-------|------|------|
| project_name
| 人类可读的项目名称 | "销售预测" |
| repo_name
| 项目目录名称(自动转换为小写和连字符) | "sales-forecast" |
| python_package
| Python包名(自动转换为小写和下划线) | "sales_forecast" |
项目工具选择
Kedro提供了多种可选工具来增强项目功能:
- Lint:使用ruff进行基本代码检查
- Test:使用pytest进行基本测试
- Log:提供环境特定的日志记录选项
- Docs:Sphinx文档设置
- Data Folder:数据管理的文件夹结构
- PySpark:PySpark工作配置
- Kedro-Viz:Kedro原生可视化工具
你可以通过输入数字选择单个工具,用逗号分隔选择多个工具,或者选择"all"包含所有工具。
示例项目选项
Kedro提供了是否包含示例管道的选项。如果选择包含示例,系统会根据你选择的工具自动添加相应的示例代码:
- 如果选择了PySpark工具,会添加PySpark示例
- 如果选择了Kedro-Viz工具,会添加可视化示例
- 如果同时选择了PySpark和Kedro-Viz,会添加完整功能示例
- 如果只选择基本工具,会添加默认示例
这些示例代码可以帮助你快速理解如何在项目中使用这些工具。
快速创建示例
基础项目
创建一个名为"My-Project"的基础项目,不包含任何工具和示例代码:
kedro new --name=My-Project --tools=none --example=n
包含可视化工具的项目
创建一个名为"spaceflights"的项目,包含Kedro-Viz和示例代码:
kedro new --name=spaceflights --tools=viz --example=y
包含多种工具的项目
创建一个名为"testproject"的项目,包含代码检查、文档和PySpark工具,但不包含示例代码:
kedro new --name=testproject --tools=lint,docs,pyspark --example=n
项目运行与可视化
安装依赖
创建项目后,进入项目目录并安装依赖:
cd <项目名称>
pip install -r requirements.txt
运行项目
使用以下命令运行项目:
kedro run
可视化项目
要可视化项目结构,需要先安装Kedro-Viz:
pip install kedro-viz
然后运行可视化服务:
kedro viz run
这会在浏览器中打开可视化界面,展示项目的数据流和管道结构。
项目创建后的下一步
- 学习基本概念:了解Kedro的核心概念,如节点(Node)、管道(Pipeline)和数据目录(Data Catalog)
- 实践教程:通过实际案例学习如何构建完整的数据科学项目
- 集成Jupyter:学习如何将Kedro与Jupyter Notebook结合使用
工具选择流程图
在选择项目工具时,可以参考以下决策流程:
- 是否需要代码质量检查?→ 选择Lint
- 是否需要单元测试?→ 选择Test
- 是否需要详细的日志记录?→ 选择Log
- 是否需要自动生成文档?→ 选择Docs
- 是否需要结构化数据管理?→ 选择Data Folder
- 是否使用PySpark处理大数据?→ 选择PySpark
- 是否需要可视化项目结构?→ 选择Kedro-Viz
通过合理选择工具组合,可以创建出最适合你项目需求的Kedro项目结构。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考