Apache nifi 在NiFi中,是否有办法只扫描日志文件中最近更新的部分?

Apache nifi 在NiFi中,是否有办法只扫描日志文件中最近更新的部分?,apache-nifi,Apache Nifi,我正在NiFi中处理一个日志文件,以搜索包含特定字符串的记录,并将过滤后的记录传输到另一个文件。 (我正在使用GetFile->SplitText->RouteText->MergeContent->PutFile) 问题是,日志文件不断追加新记录,NiFi每次迭代都会扫描整个文件。 有没有办法让NiFi只扫描文件中新添加的记录?而不是使用GetFile processor use processor TailFile处理器仅将新附加的行拉入日志文件 处理器配置: Tailing Mode属

我正在NiFi中处理一个日志文件,以搜索包含特定字符串的记录,并将过滤后的记录传输到另一个文件。 (我正在使用GetFile->SplitText->RouteText->MergeContent->PutFile)

问题是,日志文件不断追加新记录,NiFi每次迭代都会扫描整个文件。
有没有办法让NiFi只扫描文件中新添加的记录?

而不是使用GetFile processor use processor

  • TailFile处理器仅将新附加的行拉入日志文件
处理器配置:

Tailing Mode
属性为
SingleFile
,链接详细说明了如何为SingleFile Mode配置TailFile处理器


有关TailFile处理器的使用/配置,请参阅和链接。

谢谢!还有一件事,这只适用于本地文件吗?或者我可以将此应用于远程日志文件吗?(NiFi在本地计算机上运行,在远程系统上记录文件)如果您现在使用GetFile processor,那么您可以用TailFile processor替换。除此之外,我认为我们不能使用TailFile processor访问远程文件,请参阅此链接以了解相同的确切用例
(eg.
=======LOG FILE=======
A=1 | B=2 | C=6 | D=4
A=3 | B=3 | C=7 | D=7
A=5 | B=2 | C=4 | D=7
A=4 | B=2 | C=8 | D=5
A=2 | B=1 | C=9 | D=1

and I'm applying a regex filter of .*B=2.*
)