如何在NIfi中配置ExecuteScript处理器以使用JyNI包启用使用numpy的库?

时间:2019-01-11 13:21:38

标签: python-2.7 apache-nifi jython-2.7 jyni

我正在使用Apache Nifi,那里有适用于python的executeScript处理器。我从其他条目中了解到此处理器在Jython上运行,该处理器无法使用CPython导入库,例如麻木 我要使用的库使用pandas和numpy。 我找到了JyNI库,并试图使其在executeScript处理器中运行。但是没有成功。将库添加到nifi类路径时,出现了无法加载jython的异常。 我还发现Jython.jar位于处理器nar文件中。

有人建议JyNI在这种情况下是否有成功的机会? 关于如何为此处理器正确设置JyNI的任何想法?

更新:Nifi版本1.8, ExecuteScript Processor 1.8.0, Java版本1.8, JyNI 2.7版Alpha-5

1 个答案:

答案 0 :(得分:0)

您可以为要执行的逻辑编写一个简单的Python包装器,并使用ExecuteStreamCommand运行python my_script.py <args...>,这将在命令行上调用包装器脚本并使用本机Python。 This answer具有有关ESC处理器如何通过STDINSTDOUT以及示例配置将流文件内容传递到脚本和从脚本传递流文件内容的更多详细信息。