【发布时间】:2020-08-25 23:09:41
【问题描述】:
目前我正在使用 Luigi 库来创建数据管道。在我的管道结束时,我有一个 Plot 函数,它看起来像这样:
class PlotAll(luigi.Task):
...
def requires(self):
return{
"tool1" : analyzeTool1Data(...),
"tool2" : analyzeTool2Sata(...)}
def run(self):
data1 = numpy.load(self.input()["tool1"])
data2 = numpy.load(self.input()["tool2"])
plot(data1, data2)
...
所以现在有时我只有来自 Tool1 的数据,或者我只有来自 Tool2 的数据。比我只想绘制一个工具中的数据。有没有一种优雅的方法来告诉函数如果缺少一个依赖项,它应该忽略该输入并与其余的一起工作?
到目前为止,我的想法是,首先检查那里有哪些数据,然后创建依赖于它的依赖项。
【问题讨论】: