是否可以在 luigi Python 中使用数据库行作为输出

Is it possible in luigi Python to use database row as Output

我正在学习 luigi,发现大部分输出是文件系统上的文件。

如果该文件存在,则 luigi 认为任务已完成。

在我的例子中,我不想写文件,而是想在 postgres 中更新状态为 DONE 的数据库 erecord。

我想知道在 luigi 中是否可行

看看Luigi contribs。那里至少有 3 个包您可能感兴趣:mssqldbmysqldbrdbmssqlaredshift。如果您打开其中任何一个,请查找 luigi.Target subclasses.

例如,在 luigi.contribs.mysqldb 中你有 MySqlTarget。它为您提供了一种类似于您上面所说的功能:任务检查 "marker table" 是否存在(如果不存在,该任务将创建它),然后创建一个 select 来检查任务是否存在已经执行成功。如果没有,它会为任务插入一个 "marker" 表示它已完成。

如果您已经有一个 "marker table",您可以 class 此任务 class 或通过复制其代码并自定义您需要或不需要的部分来创建类似的任务.