0

我正在尝试在 Python 中嵌入一个猪脚本,但遇到了异常,似乎找不到问题所在。我有一个 Python 脚本,其中嵌入了 pig 脚本,并安装了 Apache PIG 0.10。我可以从 shell 运行 pig 脚本,它工作正常。当我使用命令运行从 shell 嵌入 pig 的 python 脚本时

pig -x mapreduce pythonscript.py它给了我错误

Pig 启动前的错误 ---------------------------- 错误 2998:未处理的内部错误。org/python/util/PythonInterpreter

java.lang.NoClassDefFoundError:org.apache.pig.scripting.jython.JythonScriptEngine.main 的 org/python/util/PythonInterpreter(JythonScriptEngine.java:338)

$PIG_CLASSPATH在运行 pig 命令之前,我尝试将 Jython jar 添加到 shell 的环境变量中。它没有帮助。

我看到其他人也遇到了这个问题,但是有没有人找到解决方案?任何指针?

4

1 回答 1

1

好的。已经找到解决方案。如果您也看到此错误,那么我希望这会有所帮助。

1) 下载了 Jython 安装程序 jar。2) 使用 java -jar 运行它 3) 指定安装位置 4) 将 Jython 可执行 shell 脚本添加到我的 PATH 环境变量中。5) 将 jython jar 从安装文件夹复制到 HADOOP_HOME/lib 文件夹。IE。hadoop下的lib文件夹。

大多数情况下,第 5 步是交易撮合者。但这些是我遵循的步骤。似乎将 Jython jar 复制/设置为 PIG 似乎没有帮助。我在伪集群模式下运行 Hadoop,上面有 Pig。而且 Pig 似乎采用了基于 HADOOP 的 jars 而不是它自己的 lib!

在此之后,它像魅力一样运行。

于 2012-12-10T07:49:24.447 回答