【问题标题】:Import Python Modules in Nifi ExecuteScript在 Nifi ExecuteScript 中导入 Python 模块
【发布时间】:2018-02-27 16:42:07
【问题描述】:

当我在 ExecuteScript 处理器中运行 python 作业时会发生这种情况。

我已经多次搜索答案,但找不到有效的解决方案。

一个答案说我应该添加这样的代码来包含我的外部python库,我尝试了但错误仍然存​​在。

import sys
sys.path.append('/usr/lib64/python2.7/site-packages')

我还在处理器中添加了模块属性。但还是不行。

【问题讨论】:

    标签: python-2.7 apache-nifi processor


    【解决方案1】:

    我的理解是,当您使用 ExecuteScript 处理器时,您不需要在 Python 脚本中使用 import sys:这是为您隐式完成的。此外,由于您已在处理器配置中定义了 Module Directory 属性,因此您无需将其添加到脚本中的路径中。

    我们看不到你的脚本第一行半。大概你在第 4 行有一个 import siximport X from six

    错误是在模块目录中找不到名为six的模块,所以可能的原因是:

    • 该文件夹中确实不存在该库
    • 您在库中复制了错误版本的 python (jython)
    • NiFi 无权读取该库(您是如何将其复制到那里的?)

    这里还有其他关于加载 python 库问题的问题,例如:

    【讨论】:

      【解决方案2】:

      我仍在解决这个问题,但我发现我们的 nifi 设置中的工作目录始终是这样的: /usr/hdf/3.3.1.0-10/nifi

      不管模块目录设置成什么。

      【讨论】:

        猜你喜欢
        • 2017-04-04
        • 2019-10-12
        • 2020-09-20
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 2021-12-03
        • 2020-06-09
        • 1970-01-01
        相关资源
        最近更新 更多