如何使用Luigi处理输出

2024-10-01 17:23:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解luigi是如何工作的,我明白了,但实际实现有点困难;)这就是我所拥有的:

class MyTask(luigi.Task):

    x = luigi.IntParameter()

    def requires(self):
        return OtherTask(self.x)

    def run(self):
        print(self.x)

class OtherTask(luigi.Task):

    x = luigi.IntParameter()

    def run(self):
        y = self.x + 1
        print(y)

但这失败了,RuntimeError: Unfulfilled dependency at run time: OtherTask_3_5862334ee2。我想我需要使用def output(self):生成输出来解决这个问题\特性。我不明白如何在不写入文件的情况下生成合理的输出,例如:

^{pr2}$

我试过阅读文档,但是我根本不明白输出背后的概念。如果我只需要输出到屏幕怎么办。如果我需要将一个对象输出到另一个任务呢?谢谢!在


Tags: runselftaskreturndefdependencyclassprint
1条回答
网友
1楼 · 发布于 2024-10-01 17:23:37

What if I need to output an object to another task?

Luigi任务可以在不同的进程中运行。因此,如果您想交换一个作为任务结果的对象,您通常必须写入磁盘、数据库、pickle或一些允许在进程之间交换数据的外部机制(并且可以验证这些机制的存在性)。在

与编写output()方法(它需要一个目标)不同,您还可以重写complete()方法,在该方法中,您可以编写任何允许任务被视为已完成的自定义逻辑。在

相关问题 更多 >

    热门问题