pig jython udf导入失败

u3r8eeie  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(428)

这个问题涉及到一个本地的pig 0.11.1运行,但是最终在emr的pig上有一个使用前景。我正在尝试编写一个jythonudf,其中导入了're'模块,我在 register 'xyz.py' with jython as xyz :

2013-11-06 13:59:47,259 [main] WARN  org.apache.pig.scripting.jython.JythonScriptEngine -   module file does not exist: re, /home/amit/Servers/Pig/pig-0.11.1/lib/jython-standalone-2.5.3.jar/Lib/re.py

udf只是一个简单的例子:

import re

我有 PIG_HOME 在我的.bashrc中设置,问题是基本上出了什么问题?值得注意的是,下面的例子是有效的

import sys
print(sys.path)

谢谢,阿米特

vd2z7a6w

vd2z7a6w1#

似乎安装缺少stdlib或找不到它。 import sys 应该可以工作,因为它与 re 位于运行时之外的单独python模块中的模块。尝试导入标准库中的另一个模块,如 unittest . 我想你也会有类似的结果。
@amit我下载了相同的版本来确认,并且我能够在udf中导入re模块。听起来你的本地安装有问题。我建议尝试以下方法:
删除并重新下载pig tgz文件。
如果问题仍然存在,请确认类路径中没有替代的jythonjar。pig与/lib目录中的jythonjar捆绑在一起。这个jar的内部是python stdlib(包括re模块)。jython也作为一个“裸”jar打包,不包括stdlib。如果这在你的类路径上,它可能会导致你的问题。

相关问题