Файл списка Nifi из нескольких путей и направьте их в соответствующие пункты назначения - PullRequest
0 голосов
/ 10 мая 2018

У меня есть 3 файла в разных местах, для которых я использую 3 обработчика файлов списка, а затем обработчик файлов выборки.Теперь я хочу направить эти файлы к их соответствующим местам назначения, который отличается для всех 3 файлов.нужна помощь о том, как это сделать.

Спасибо

1 Ответ

0 голосов
/ 10 мая 2018

В соответствии с логикой маршрутизации, которую вы упомянули выше, поток может быть следующим:

ListFile(s) -> FetchFile(s) -> RouteOnAttribute -> PutFile(s)

В RouteOnAttribute вы можете использовать поддержку языка выражений NiFi. Например, вы можете иметь три атрибута:

destination.one : ${filename:startsWith('abc')}
destination.two : ${filename:startsWith('def')}
destination.three : ${filename:startsWith('xyz')}

Объяснение

У вас будет три ListFile процессора, подключенных к трем FetchFile процессорам. Затем подключите выход Success всех трех процессоров к RouteOnAttribute, и после определения трех вышеупомянутых отношений вы можете подключить три отношения к соответствующим процессорам PutFile.

В приведенном выше примере RouteOnAttribute направляет файлы, имена которых начинаются с abc, в отношение destination.one, имена файлов, начинающиеся с def, переходят в destination.two и т. Д.

enter image description here

enter image description here

...