Предварительно обрабатывает большой файл, используя Nifi - PullRequest
1 голос
/ 21 июня 2019

У нас есть файлы объемом до 8 ГБ, которые содержат структурированное содержимое, но важные метаданные хранятся в последней строке файла, которую необходимо добавить к каждой строке содержимого. Легко использовать ReverseFileReader для захвата этой последней строки, но для этого требуется, чтобы файл был статическим на диске, и я не могу найти способ сделать это в нашем существующем потоке Nifi? Возможно ли это до того, как данные будут переданы в хранилище контента?

1 Ответ

1 голос
/ 25 июня 2019

Обработка 8 ГБ файла в Nifi может быть неэффективной.Вы можете попробовать другой вариант: -

ListSFTP -> ExecuteSparkInteractive -> RouteOnAttributes ----> ....

Здесь вам не нужно фактически передавать данные через Nifi, Просто передайте расположение файла (может быть расположение hdfs или не-hdfs) в атрибуте nifi и напишите код pyspark или spark scala для чтения этого файла (вы можете запустить этот код через ExecuteSparkInteractive).Код будет выполнен на кластере искр, и только результат задания будет отправлен обратно в Nifi, который вы можете использовать для маршрутизации потока nifi (используя процессор RouteOnAttribute).

Примечание.Нифи.

Надеюсь, что это полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...