我正在使用cloudera CDH5和Pig 0.13(试过Pig 0.12.1)并且我正在构建我自己的自定义loadFunc,我有一个简单的脚本,只需使用新的loadFunc加载。
在local
模式下运行时,一切正常,输出正确。
但是当在mapreduce
模式下运行时(仍在本地),我收到错误:
Unable to open iterator for alias output_hash
at org.apache.pig.PigServer.openIterator(PigServer.java:880)
at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:774)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:372)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:173)
at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84)
at org.apache.pig.Main.run(Main.java:478)
at org.apache.pig.Main.main(Main.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: java.io.IOException: Job terminated with anomalous status FAILED
at org.apache.pig.PigServer.openIterator(PigServer.java:872)
... 12 more
我尝试将属性verbose设置为true或跟踪调试,但没有得到有用的信息。
有关如何解决或调试此问题的任何见解?
答案 0 :(得分:2)
找到解决方案。 问题是我正在使用maven来构建项目,而我正在使用依赖项构建jar。这导致具有相同类路径的类名的依赖项相互覆盖(如hadoop-hdfs和hadoop-common的FileSystem.java,解决方案只是构建jar而不包含依赖项。