【问题标题】:luigi task based on ternary operator基于三元运算符的 luigi 任务
【发布时间】:2020-08-31 15:26:55
【问题描述】:

我有一个 DAG 如下所示的要求


                   -> Task C -> Task D
                  | 
Task A -> Task B -
                  |
                   -> Task E -> Task F

任务 B 有一个 python 三元运算符,它决定在运行时执行的方向/腿,即运行时流程将是(任务 C,任务 D)或(任务 E,任务 F)

我们如何在 luigi task requires function 下定义这个?任何想法或代码 sn-p 将不胜感激。

【问题讨论】:

    标签: python luigi


    【解决方案1】:

    您可以定义dynamic dependency

    我认为在您的示例中,您将有一个任务 G 取决于 B 并基于 B 的输出 yield CDEF

    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()
                
    
    

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-20
      • 2020-01-02
      • 1970-01-01
      • 2023-01-17
      • 2021-10-06
      相关资源
      最近更新 更多