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 在没有数据的情况下丢弃流文件进行查询的主要内容,如果未能解决你的问题,请参考以下文章