我试图在Python中嵌入一个猪脚本,遇到异常,似乎无法找到问题所在。我有一个嵌入了pig脚本的Python脚本,并安装了Apache PIG 0.10。我可以从shell运行pig脚本,它可以正常工作。当我使用命令
运行从shell嵌入的pig的python脚本时 pig -x mapreduce pythonscript.py
它给了我错误
Pig启动前出错 ---------------------------- ERROR 2998:未处理的内部错误。组织/蟒/ util的/ PythonInterpreter
java.lang.NoClassDefFoundError:org / python / util / PythonInterpreter at at org.apache.pig.scripting.jython.JythonScriptEngine.main(JythonScriptEngine.java:338)
我尝试在运行pig命令之前将shell中的Jython jar添加到$PIG_CLASSPATH
环境变量。它没有帮助。
我看到其他人也遇到了这个问题,但有没有人找到解决方案?有什么指针吗?
答案 0 :(得分:1)
确定。找到了解决方案。如果你也看到了这个错误,那么我希望这会有所帮助。
1)下载了Jython安装程序jar。 2)用java -jar运行它 3)指定安装的位置 4)将Jython可执行shell脚本添加到我的PATH环境变量中。 5)将jython jar从安装文件夹复制到HADOOP_HOME / lib文件夹。即。 hadoop下的lib文件夹。
大多数情况下,第5步是交易制定者。但这些是我遵循的步骤。似乎将Jython jar复制/设置为PIG似乎没有帮助。我正在伪集群模式下运行Hadoop,并在它上面使用Pig。而Pig似乎采用了基于HADOOP的罐而不是自己的库!
在此之后,它就像一个魅力。