Планирование задания с Apache NiFi путем передачи значений динамических свойств

Я создал рабочий процесс NiFi, как показано ниже: GenerateFlowFile -> Custom Processor -> LogAttribute Мой пользовательский процессор имеет свойство в качестве даты начала. Но дата начала должна изменяться при каждом запланированном запуске в зависимости от максимальной даты окончания предыдущего запуска. В основном ищу инкрементную выборку данных с сервера.

Не могли бы вы помочь, как этого можно достичь в Apache NiFi?


person Geeta Singh    schedule 14.04.2017    source источник


Ответы (1)


Планирование процессора обычно остается на усмотрение менеджера потока данных, конфигурирующего процессор в свой поток. Я рекомендую вам позволить им запланировать процессор, ожидая, что он будет работать на периодической основе.

Но вы можете использовать State Manager от Apache NiFi. функция для хранения данных, которые отслеживают ваш постепенный прогресс. Затем вы можете решить, какие действия предпринять, если таковые имеются, при срабатывании процессора. Если делать нечего, ничего не делай.

Лучшими примерами этого являются процессоры List *, такие как ListFile. Эти процессоры обычно хранят метку времени последнего прочитанного файла, используя эту метку времени, чтобы определить, с какими новыми файлами следует действовать, независимо от того, как часто их просят проверять. Вероятно, что большинство запусков процессора List * не приведет к выходу.

Есть несколько примеров чтения и сохранения данных состояния в AbstractListProcessor класс.

person James    schedule 14.04.2017
comment
Большое спасибо за ваш ответ. У меня есть собственный процессор, который получает данные с сервера в зависимости от диапазона дат начала и окончания. Я хочу сохранить состояние предыдущего запуска как дату окончания, а затем использовать эту дату окончания как дату начала для следующего запуска. Ни один из процессоров List * не удовлетворяет этим критериям. Пожалуйста, помогите. - person Geeta Singh; 17.04.2017