Как настроить процессор ExecuteScript в NIfi для использования пакета JyNI для включения библиотек, использующих numpy?

Я использую Apache Nifi и там процессор executeScript для python. Из других записей я понимаю, что этот процессор работает на Jython, который не может импортировать библиотеки с использованием CPython, например numpy. Библиотека, которую я хочу использовать, использует панд и numpy. Я нашел библиотеку JyNI и попытался запустить ее в процессоре executeScript. Но не удалось. При добавлении библиотек в путь классов nifi я получаю исключение, что jython не может быть загружен. Я также обнаружил, что Jython.jar находится в файле nar процессора.

Есть предложения, есть ли у JyNI шансы на успех в этом случае? Есть идеи, как правильно настроить JyNI для этого процессора?

ОБНОВЛЕНИЕ: Nifi версии 1.8, процессор ExecuteScript 1.8.0, Java версии 1.8, JyNI версии 2.7 alpha-5

1 ответ

Вы можете написать простую оболочку Python для логики, которую вы хотите выполнить, и использовать ExecuteStreamCommand бежать python my_script.py <args...>, который вызовет скрипт-оболочку из командной строки и будет использовать собственный Python. Этот ответ содержит более подробную информацию о том, как ESC процессор передает содержимое потокового файла в / из скрипта через STDIN а также STDOUT и пример конфигурации.

Другие вопросы по тегам