- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚开始使用 luigi
库。我定期抓取网站并将任何新记录插入 Postgres 数据库。当我试图重写部分脚本以使用 luigi
时,我不清楚 "marker table" 是如何实现的应该使用。
工作流程:
但是,使用 luigi 的 postgres.CopyToTable
,如果表已经存在,则不会插入新数据。我想我应该使用 table_updates
表中的 inserted
列来确定应该插入哪些新数据,但我不清楚该过程是什么样的,我可以'在网上找到任何明确的例子。
最佳答案
你不必太担心标记表:它是 luigi 用来跟踪哪个任务已经成功执行的内部表。为此,luigi 使用任务的 update_id
属性。如果你没有声明一个,那么 luigi 将使用 task_id
as shown here .该 task_id 是任务系列名称和任务的前三个参数的串联。
此处的关键是覆盖您任务的 update_id
属性并返回一个自定义字符串,您知道该字符串对于您的任务的每次运行都是唯一的。通常你应该使用任务的重要参数,比如:
@property
def update_id(self):
return ":".join(self.param1, self.param2, self.param3)
显着是指改变任务输出的参数。我想象像网站 url o id 和抓取日期这样的参数。数据库的主机名、端口、用户名或密码等参数对于任何这些任务都是相同的,因此不应将它们视为重要参数。
请注意,如果没有关于您的表和您尝试保存的数据的详细信息,很难说出您必须如何构建该 update_id 字符串,因此请小心。
关于postgresql - 使用 luigi 更新 Postgres 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40707004/
文档说: If a parameter is created with significant=False, it is ignored as far as the Task signature is
用例:某些任务是耗时数小时的长批处理作业,需要在决定首先重新运行哪个日期之前查看给定日期的已完成内容和失败内容。 如何在不运行任何东西的情况下查看中央调度程序生成的依赖关系图?我确实意识到,我可以简单
我使用 Luigi Orchestrator 编写了以下 Python 代码。 class AggregateArtists(luigi.Task): date = luigi.DatePar
error: can't copy 'luigi\static\visualiser\lib\URI.js': doesn't exist or not a regular file --------
我是 Luigi 的新手,我创建了一个管道,它从数据库获取数据,转换数据,然后将其加载回数据库。我在其中创建了四个任务。但是,当我在 cmd 或 Pycharm 上执行任务时,它说它无法安排非任务。下
我在配置 luigi 每任务重试策略时遇到问题。我已按如下方式配置全局 luigi.cfg 文件: [scheduler] retry-delay: 1 retry_count: 5 [worker]
这是我第二次尝试了解如何在 Luigi 中将参数传递给依赖项。第一个是 here . 想法是:我有 TaskC,它依赖于 TaskB,它依赖于 TaskA,它依赖于 Task0。我希望整个序列始终完全
我试图用 luigi 建立一个管道。首先通过从 API 获取数据,转换然后将其保存到 mongo db。我还是 luigi 的新手,我的问题是如何实现 output() 函数,该函数指定输出到 mon
我想使用 Luigi 在我的 postgres 数据库上进行查询以获取纬度/经度坐标对,然后将该对传递给另一个任务。 我有一个任务 QueryPostgres() 将 SQL 字符串作为输入并执行查询
我有一个 luigi将我的原始数据拆分成较小文件的预处理任务。然后这些文件将由实际管道处理。 所以关于参数,我想要求每个管道都有一个预处理文件 ID 作为参数。但是,此文件 ID 仅在预处理步骤中生成
我对使用 Luigi 创建流程还比较陌生,我想了解为什么我的小工作流程会导致未实现的依赖关系。我正在尝试运行任务 StageProviders(),它有一个依赖项 ErrorsLogFile()。必须
我从 Luigi 开始,我想知道 Luigi 如何知道它不应该重新运行该任务,因为它已经使用相同的参数成功运行了。我通读了文档,但没有找到答案。 假设: Luigi 是否将状态(任务实例及其结果)存储
我正在研究一个 Luigi 管道,它检查是否存在手动创建的文件,如果存在,则继续执行下一个任务: import luigi, os class ExternalFileChecker(luigi.Ex
我已经通过 pip 命令安装了 luigi,我想更改 Web UI 的端口。我试图找到配置文件,但找不到。我需要创建一个吗? 最佳答案 您可以使用 --port 选项启动 luigid。 luigid
我正在尝试模拟为 luigi 参数提供默认值的东西。 一个愚蠢的例子展示了我想要完成的事情: 待测任务: import luigi from bar import Bar bar = Bar() cl
我正在使用 Luigi 启动一些管道。举个简单的例子 task = myTask() w = Worker(scheduler=CentralPlannerScheduler(), worker_pr
我正在编写一个管道,其中后面的任务需要读取前面任务的输出,这样他们就可以知道他们需要在他们的要求中传递哪些参数。 我在下面创建了一个简化的设置示例。 import random import pick
假设我有一个具有以下依赖结构的任务 class ParentTask(luigi.Task): def requires(self): return [ChildTask(cl
我正在为 Luigi Tasks 构建一个包装器,但遇到了 Register 的障碍。类实际上是一个 ABC 元类,当我创建动态 type 时不可选择. 以下代码或多或少是我用来开发动态类的代码。 c
我最近开始使用Luigi。当我运行工作流程时,所有任务都会显示在任务列表中,但依赖关系图仅显示一个空框架: 最佳答案 啊,刚刚发现它只显示特定任务的依赖关系图,而不是整个工作流程。因此,我必须选择一个
我是一名优秀的程序员,十分优秀!