【发布时间】:2017-03-02 20:58:38
【问题描述】:
我在我的工作流程中使用 Luigi。我的工作流程分为三个通用部分——导入、分析、导出。在每个部分中,都有多个 Luigi 任务。
我可以将所有内容都放在一个文件中。但是,如果我想将所有内容分开,例如 data_import.py、analysis.py 和 export.py。
例如,如果data_import.py 看起来像:
import luigi
class import_task_A(luigi.Task):
def requires(self):
return []
def output(self):
return luigi.LocalTarget('myfile.txt')
def run(self):
my import stuff
if __name__ == '__main__':
luigi.run()
但是如果 export.py 中的任务依赖于 import.py 中的任务怎么办。我会这样做吗:
from data_import import import_task_A
import luigi
class export_task_A(luigi.Task):
def requires(self):
return import_task_A()
def output(self):
return luigi.LocalTarget('myfile.txt')
def run(self):
my import stuff
if __name__ == '__main__':
luigi.run()
如果我将较大的项目分解为多个 .py 文件,那么告诉 Luigi 哪些必需任务在哪个文件中的最佳方法是什么?好像这个方法会比较麻烦。
【问题讨论】:
-
你的做法看起来不错。
-
为什么会变得很麻烦?
标签: python class dependencies workflow luigi