基于 Rust 引擎的 Python ETL 框架,用于流处理、实时分析、LLM 管道和 RAG。
spotify/luigi
用于构建复杂批处理任务流水线的 Python 框架,支持依赖解析、工作流管理与可视化。
- Star
- 18,784
- Fork
- 2,474
- 未关闭 Issue
- 192
- 最近提交
- 8天前
这是什么?
Luigi 是一个 Python 包,用于把大量批处理任务串联成流水线。任务及其依赖关系直接用 Python 代码描述,Luigi 负责解析依赖图、按顺序执行并处理失败,长时间运行的工作流可以在中断后继续,而无需重跑已完成的部分。
任务可以是 Hadoop 或 Hive 作业、Pig 脚本、Spark 作业、数据库表导出、scp 文件传输,也可以是任意 Python 函数。Luigi 内置 Hadoop 与 HDFS 支持,本地文件系统操作具有原子性,因此失败的运行不会留下不完整的数据。
Luigi 自带 Web 服务和可视化界面,可以搜索、过滤任务并查看依赖图,已完成与待执行的任务以不同颜色标示。通过 pip 安装,并可选择启用基于 TOML 的配置支持。
核心功能
- 01自动解析任务依赖并按正确顺序执行。
- 02内置 Hadoop、HDFS、Hive、Pig 和 Spark 作业支持。
- 03文件系统操作具有原子性,失败的运行不会留下部分数据。
- 04提供 Web 可视化界面,可搜索任务并查看依赖图。
- 05任务用 Python 定义,依赖关系可以通过代码动态生成。
适用场景
- 编排由 Hadoop、Hive 或 Spark 作业组成的每日或每小时数据流水线。
- 串联数据库导出、数据转换和机器学习训练等步骤。
- 批处理流程中途失败后,无需重跑已完成任务即可恢复执行。
快速上手
- 1
从 PyPI 安装 Luigi
pip install luigi - 2
安装支持 TOML 配置的 Luigi(可选)
pip install luigi[toml]
使用前须知
- 专为批处理流水线设计,不适合实时或流式工作负载。
- 任务需用 Python 代码定义,缺乏 Python 经验的团队上手可能较难。
标签
常见问题
- luigi 是什么?
- 用于构建复杂批处理任务流水线的 Python 框架,支持依赖解析、工作流管理与可视化。 Luigi 是一个 Python 包,用于把大量批处理任务串联成流水线。任务及其依赖关系直接用 Python 代码描述,Luigi 负责解析依赖图、按顺序执行并处理失败,长时间运行的工作流可以在中断后继续,而无需重跑已完成的部分。
- luigi 可以免费使用吗?用的什么许可证?
- luigi 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- luigi 还在维护吗?
- 活跃维护中。luigi 最近一次提交是在 2026年10月14日。
- luigi 适合用来做什么?
- 编排由 Hadoop、Hive 或 Spark 作业组成的每日或每小时数据流水线。 串联数据库导出、数据转换和机器学习训练等步骤。 批处理流程中途失败后,无需重跑已完成任务即可恢复执行。
- luigi 怎么安装和运行?
- 从 PyPI 安装 Luigi: pip install luigi 安装支持 TOML 配置的 Luigi(可选): pip install luigi[toml]
- 在哪里获取 luigi?
- 源代码和安装说明在 GitHub 上:https://github.com/spotify/luigi
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
6.2万1683PythonOther更新于 前天
开源产品分析平台,集成事件分析、会话回放、功能开关、A/B 实验、错误追踪、问卷和数据仓库。
4万3532PythonOther更新于 前天
开源数据搬运平台,用于 ELT 管道,把 API、数据库和文件中的数据同步到数据仓库、数据湖和 AI 应用。
2.2万5415PythonOther更新于 前天
面向基础模型的数据处理系统,提供 200 多种可组合算子,用于清洗、过滤、去重和合成文本、图像、音频与视频数据。
7176437PythonApache-2.0更新于 昨天
将云基础设施与 SaaS 元数据同步到数据仓库、支持 SQL 查询的数据管道与 CLI 工具。
6544565GoMPL-2.0更新于 3天前
Apache NiFi 是一个通过浏览器界面设计、控制和监控数据流的系统,用于在不同来源与目标之间自动处理和分发数据。
62692989JavaApache-2.0更新于 前天