Запустить java-программу из nifi с параметрами

Я хочу взять некоторые термины из базы данных cassandra, а затем отправить их в качестве параметра в java-программу, которая выведет некоторые данные, которые мне нужно будет сохранить в базе данных cassandra.

Возможно ли это с nifi, если да, то какие процессоры использовать? специально для выполнения java-программы, поскольку я видел, что процессоры для cassandra уже существуют.

Спасибо!


person Remis07    schedule 16.05.2017    source источник


Ответы (1)


Apache NiFi предоставляет ряд возможностей для запуска собственного кода Java:

  • Внешний процесс - Apache NiFi's ExecuteProcess и ExecuteStreamCommand могут быть используется для запуска любого внешнего процесса и возврата вывода в виде содержимого потокового файла. ExecuteProcess не передает входной поток, где ExecuteStreamCommand передает содержимое входного потокового файла через стандартный ввод. Оба процессора принимают аргументы, отформатированные на языке выражений NiFi. Этим процессорам все равно, является ли ваш процесс Java, он просто работает как внешний процесс. Это, вероятно, самый быстрый и простой способ запустить ваш код.
  • Пользовательский процессор. Вы также можете создать собственный процессор для выполнения кода Java более нативным для NiFi способом. Это требует дополнительной работы, но обеспечит наилучшую производительность для больших объемов, если это вызывает беспокойство. Вам может помочь Руководство разработчика NiFi.
  • Сценарии. Третий подход - использовать ExecuteScript или InvokeScriptedProcessor для запуска сценария Groovy, использующего ваш собственный код Java. Это хороший способ поэкспериментировать с запуском вашего кода в качестве пользовательского процессора NiFi без всех накладных расходов на кодирование полной реализации процессора.
person James    schedule 16.05.2017