如何在Luigi调度器侧边栏配置任务的实际分组?
设置Luigi调度器侧边栏的任务分组
要让Luigi任务跳出默认的「Others」分组,主要有两种实用方式:
1. 给任务指定Namespace(命名空间)
给任务类添加namespace属性,相同命名空间的任务会被自动归为同一分组:
import luigi class DataIngest(luigi.Task): namespace = "数据处理流水线" def run(self): # 任务执行逻辑 pass class DataClean(luigi.Task): namespace = "数据处理流水线" def requires(self): return DataIngest() def run(self): # 任务执行逻辑 pass
设置后,调度器侧边栏会显示「数据处理流水线」分组,包含上述两个任务。
2. 使用层级化的Task Family
通过给任务的task_family设置带点分隔的层级名称,Luigi会自动按前缀分组:
import luigi class DataIngest(luigi.Task): task_family = "数据流水线.数据导入" def run(self): pass class DataClean(luigi.Task): task_family = "数据流水线.数据清洗" def requires(self): return DataIngest() def run(self): pass
这种方式会生成「数据流水线」主分组,其下包含「数据导入」「数据清洗」子任务。
注意事项
- 未设置上述属性的任务,会默认被归类到「Others」分组。
- 修改分组后,需要清理Luigi的状态文件(默认是
luigi-state.pickle),重启调度器才能看到新的分组效果。
内容的提问来源于stack exchange,提问作者nonnial
相关产品推荐
相关产品推荐

