GenerateTableFetch 在没有数据的情况下丢弃流文件进行查询

Posted

技术标签:

【中文标题】GenerateTableFetch 在没有数据的情况下丢弃流文件进行查询【英文标题】:GenerateTableFetch drops flowfile on no data for query 【发布时间】:2018-09-18 13:58:34 【问题描述】:

我正在使用 GenerateTableFetch 和包含 table_name 的传入流文件来导入数据。我已将Additional WHERE clause 手动使用表的updated_at 列处理增量更新。

问题是当构造查询没有要导入的数据时,它会简单地删除流文件。除了成功和失败之外,它应该有一个单独的关系,以便在这种情况下必须做些什么时我可以自己处理。

目前,在工作流程开始时,我使用Wait 处理我已投入流程的表格数量,并跟踪它们何时完成以使用Notify 增加完成计数。但是对于在GenerateTableFetch 中删除的表,它只是继续等待。

有什么方法可以处理吗?

【问题讨论】:

【参考方案1】:

这确实是添加到 GenerateTableFetch 的一个很好的改进,可能是“在零结果上输出空流文件”或其他东西的可选属性。我写了NIFI-5604 来说明这一改进。将此与 NIFI-5601 结合使用,您可以进行下游路由(例如,如果 fragment.count = 0)。

【讨论】:

是的。像no-result 这样的属性或单独的关系可以很好地处理这个问题。与 NIFI-5601 相关,我现在使用 MergeContent 获得工作版本。但这些是我们摄取管道的一些主要障碍。 :(

以上是关于GenerateTableFetch 在没有数据的情况下丢弃流文件进行查询的主要内容,如果未能解决你的问题,请参考以下文章

我没有在数据网格视图上看到任何数据。 Localdb 没有发送任何数据(北风)

有没有更好的方法在没有承诺的情况下返回异步数据?

为啥表体中没有数据?

在核心数据中保存没有原始值的快速枚举

为啥我的改造代码没有在数据库中插入数据?

为啥 jquery 数据表在搜索后没有填充新更新的数据?