基于三元运算符的luigi任务
luigi task based on ternary operator
我有一个 DAG 看起来像下面的要求
-> Task C -> Task D
|
Task A -> Task B -
|
-> Task E -> Task F
任务 B 有一个 python 三元运算符,它决定 direction/leg 在运行时执行什么,即运行时流程将是(任务 C,任务 D)或(任务 E,任务 F)
我们如何在 luigi task requires 函数下定义这个?任何想法或代码片段将不胜感激。
您可以定义dynamic dependency.
我认为在您的示例中,您的任务 G
将取决于 B
并基于 B
的输出 yield C
和 D
或 E
和 F
import luigi
class GTask(luigi.Task):
def requires():
return BTask()
def run():
if check_b_outout(self.input()):
yield CTask()
yield DTask()
else:
yield ETask()
yield FTask()
我有一个 DAG 看起来像下面的要求
-> Task C -> Task D
|
Task A -> Task B -
|
-> Task E -> Task F
任务 B 有一个 python 三元运算符,它决定 direction/leg 在运行时执行什么,即运行时流程将是(任务 C,任务 D)或(任务 E,任务 F)
我们如何在 luigi task requires 函数下定义这个?任何想法或代码片段将不胜感激。
您可以定义dynamic dependency.
我认为在您的示例中,您的任务 G
将取决于 B
并基于 B
的输出 yield C
和 D
或 E
和 F
import luigi
class GTask(luigi.Task):
def requires():
return BTask()
def run():
if check_b_outout(self.input()):
yield CTask()
yield DTask()
else:
yield ETask()
yield FTask()