Есть ли способ уведомить процессор Nifi

avatar
Chandan Basant Tiwari
9 августа 2021 в 05:05
82
1
0

У меня есть поток NiFi, в котором я получаю данные из elasticsearch, после некоторой обработки я сохраняю файл потока в месте назначения. После сохранения всего файла потока я хочу уведомить процесс слияния, чтобы объединить все данные из файла в большой файл csv. Моя проблема заключается в том, как я могу уведомить обработчик слияния, что теперь все файлы сохранены, и теперь начать слияние всех файлов.

Спасибо за помощь.. :)

Источник
Vikramsinh Shinde
9 августа 2021 в 05:58
0

Вы пробовали процессоры с ожиданием-уведомлением? Вы можете добавить обработчик ожидания перед процессом слияния и обработчик уведомления после места назначения, чтобы уведомление отправляло сигналы для ожидания, чтобы освободить файлы после того, как файлы будут успешно помещены в место назначения. Необходимо соответствующим образом настроить MergeContent/MergeRecords.

Chandan Basant Tiwari
11 августа 2021 в 05:13
0

@VikramsinhShinde У меня нет общего атрибута во всех фф. Поскольку процессор Elasticsearch генерирует ff для каждой страницы, извлеченной из эластичного индекса, со всеми именами файлов различий. Каждый ff позже разбивается на отдельные записи, присутствующие в . Я могу установить идентификатор сигнала выпуска в общий атрибут, общий для исходного и сгенерированного файлов потока, и я говорю, что мне нужно дождаться сигнала 'fragment.count', прежде чем освобождая первоначальный поток. У меня нет общего атрибута, кроме "es.index". Есть ли способ, которым я могу быть уверен, что все документы из индекса были извлечены?

Ответы (1)

avatar
Mike R
9 августа 2021 в 12:31
0

У NiFi есть способ использовать процессоры ожидания/уведомления для уведомления о сохранении файлов. Я бы предложил, чтобы какой бы процессор вы ни использовали для сохранения файлов, чтобы его успешное состояние было отправлено в процессор уведомлений, который затем можно было бы использовать для уведомления процессора ожидания. Процессор ожидания может использоваться с процессором слияния для слияния указанных файлов. Я знаю, что действительно возможно использовать ожидание/уведомление в NiFi для сложных действий Pierre Villard NiFi WorkFlow Wait/Notify Хотя я знаю, что это не то, что вы конкретно пытаетесь сделать здесь, но это может помочь вам лучше понять функцию «Ожидание/уведомление» Ожидание/уведомление о перемещении Zendesk

Chandan Basant Tiwari
11 августа 2021 в 05:21
0

Спасибо за эти статьи, @Mike, но мне нужно подождать, пока не будет извлечен весь документ из elasticsearch, в обеих статьях процессор ожидания содержит весь фрагмент одного ff (сгенерированного из одного родителя), но у меня есть diff ff, и мне нужно подождать пока не будут обработаны все ff (несколько родительских ff).

Mike R
3 сентября 2021 в 12:15
0

Не могли бы вы подождать, пока 1 FF не будет сделан, а затем перейти к следующему FF в моде, если он заполнен, перейти к следующему?