Luigi是一个用来帮助构建基于复杂管道的批处理任务,功能包括:依赖处理、工作流管理、可视化等,同时内建支持Hadoop。
Luigi的目的是将需要长时间运行的批处理任务通过管道机制关联起来,比如导入导出数据,运行机器学习训练等。
而通常的任务,可能是Hive查询,或是Java编写的Hadoop任务,或者是使用Scala或Python编写的Spark任务,或者是从数据库导出一个表。
Luigi里的任何东西都是Python,没有XML配置或类似的外部数据文件,而是直接在Python里指定依赖图。