NIFI EXECUTESCRIPT处理器发生故障-未找到模块

问题描述 投票:0回答:1

我正在尝试将模块导入nifi中的executescript处理器。

按照建议,我给出了进入模块目录的完整路径\ n

示例:模块目录:/ var / lib / nifi / Levenshtein->包含脚本的必要文件。

此外,在脚本中,我还设置了指向使用该模块目录的系统路径我的代码看起来像这样

import re导入日期时间导入系统sys.path.append('/ var / lib / nifi / Levenshtein')

导入Levenshtein

当我使用上述代码运行处理器时,它将失败。\ n

错误:第3行没有名为Levenshtein的模块。\ n

apache-nifi jython execute-script flowfile
1个回答
0
投票

如果此特定库是“本机模块”(编译的C代码),则Jython(ExecuteScript使用的Python执行引擎)将无法加载它。使用Python的NiFi中的ExecuteScript只能使用纯Python代码。

解决方法是使用ExecuteProcessExecuteStreamCommand并在命令行上调用python <my_script.py>,该命令行可以处理各种Python版本,本机模块等。此执行将在JVM外部进行,并使用真实的Python ,而不是Jython。

© www.soinside.com 2019 - 2024. All rights reserved.