Apache nifi 如何在Nifi中使用GenerateTableFetch处理器捕获增量抓取中的所有记录

Apache nifi 如何在Nifi中使用GenerateTableFetch处理器捕获增量抓取中的所有记录,apache-nifi,Apache Nifi,我正在使用Nifi 1.7.1 就我而言,增量抓取似乎无法正常工作 所有记录都会从数据库中摄取,但不会一直保存到目标 使用的处理器是GenerateTableFetch,然后在数据处理流中执行SQL和其他相应的处理器 在GenerateTableFetch属性状态上正确捕获记录id,并将其作为源(db)的记录id更新 但是,在处理文件时,它仍然会丢失一些记录,从而使目标上的记录数与数据库中的源不同步。 我已尝试增加所有处理器连接的背压对象阈值,但仍然没有成功 我是否遗漏了什么,安排获取帮助的时间

我正在使用Nifi 1.7.1

就我而言,增量抓取似乎无法正常工作

所有记录都会从数据库中摄取,但不会一直保存到目标

使用的处理器是GenerateTableFetch,然后在数据处理流中执行SQL和其他相应的处理器

在GenerateTableFetch属性状态上正确捕获记录id,并将其作为源(db)的记录id更新

但是,在处理文件时,它仍然会丢失一些记录,从而使目标上的记录数与数据库中的源不同步。 我已尝试增加所有处理器连接的背压对象阈值,但仍然没有成功


我是否遗漏了什么,安排获取帮助的时间吗?

您如何证明“所有记录都从数据库中获取,但不会一直到达目的地”这句话?如果它们都被摄取,它们在什么时候“丢失”?从第一个处理器“GenerateTableFetch”开始,属性“View State”的值是最后摄取的记录的记录id,并与数据库上的最新记录id相匹配。虽然上次更新的记录id是在此处理器的状态下捕获的,但它将只处理一些记录。总共(平均)提取了多少条记录?有多少人失踪?如果您在ExecuteSQL之后停止处理器并让它在队列中累积,您是否已经在该队列中丢失了记录?如果是这样的话,需要配置GTF和ES处理器。平均一周大约10-20个,缺少2-5个。谢谢你的建议。我会试试的。您能具体说明GTF和ES要检查和更改的属性/配置吗?我会首先进行测试,我们需要确定记录丢失的确切位置-如果它们没有到达NiFi,那么我们可以做的很少-如果它们在ExecuteSQL中丢失,我们将查看配置-如果它在队列中/稍后在流中-我们将不得不查看它。因为它的流量非常低,所以识别记录丢失的位置应该相对简单