将Pig嵌入Python中

时间:2012-12-10 06:23:03

标签: python hadoop apache-pig embedding

我试图在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环境变量。它没有帮助。

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

1 个答案:

答案 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的罐而不是自己的库!

在此之后,它就像一个魅力。