kedro-org/kedro
Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, maintainable, and modular.
解决的问题
Kedro 旨在将数据科学和数据工程项目的开发方式从一次性脚本和 Jupyter 笔记本,转变为可生产、可维护、可复现的代码。它弥补了“胶水代码”(glue-code)的不足,通过强制模块化和关注点分离,帮助不同软件工程能力的团队更高效协作。
工作原理
Kedro 提供了一个结构化框架,将软件工程的最佳实践应用于数据管道。它基于 Cookiecutter Data Science 的项目模板,标准化项目结构。它包含一个数据目录(Data Catalog),用于抽象各种文件格式和云存储的加载/保存操作;以及一个管道抽象(Pipeline abstraction),可自动解析 Python 函数之间的依赖关系,构建模块化工作流。
适用人群
需要构建可扩展、可复现的分析管道和处理大量原始数据的真实世界机器学习应用的数据科学家和数据工程师。
主要亮点
- 数据目录:轻量级连接器,支持在本地、网络和云对象存储之间保存和加载数据,并内置版本控制。
- 管道抽象:自动解析 Python 函数间的依赖关系,并通过 Kedro-Viz 实现可视化。
- 灵活的部署:支持单机或分布式机器,以及 Argo、Prefect、Kubeflow、AWS Batch、Databricks 等编排工具。
- 标准化编码规范:集成支持 pytest、Sphinx 和 ruff,用于测试、文档和代码检查。
相关
- 项目
- 项目
- 项目
- 项目
- 项目