在NiFi中,是否可以仅扫描日志文件的最新部分?

时间:2018-09-11 07:24:26

标签: apache-nifi

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

(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.*
)

问题是,日志文件不断有新记录追加到其中,NiFi每次扫描都会扫描ENTIRE文件。 有没有办法让NiFi仅扫描文件中新添加的记录?

1 个答案:

答案 0 :(得分:2)

使用TailFile处理器代替GetFile处理器。

  • TailFile处理器仅将新添加的行拉到LogFile。

处理器配置:

Auth属性为Tailing ModeThis链接详细说明了如何为SingleFile模式配置TailFile处理器

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