В NiFi есть ли способ сканирования только самой последней обновленной части файла журнала? - PullRequest
0 голосов
/ 11 сентября 2018

Я обрабатываю один файл журнала в 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 сканирует ВСЁ файл для каждой итерации. Есть ли способ заставить NiFi сканировать только новые записи в файле?

1 Ответ

0 голосов
/ 11 сентября 2018

Вместо процессора GetFile используйте TailFile процессор.

  • Процессор TailFile извлекает только добавленные строки в LogFile.

Конфигурации процессора:

Tailing Mode свойство as SingleFile, Эта ссылка подробно объясняет, как настроить процессор TailFile для режима SingleFile

См. это и это ссылки для использования / конфигурации процессора TailFile.

...