【发布时间】:2014-11-20 01:43:32
【问题描述】:
我正在使用带有 Pig 0.13 的 cloudera CDH5(也尝试过 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 或将 traces 设置为调试,但没有得到有用的信息。
关于如何解决或调试此问题的任何见解?
【问题讨论】:
-
根据我添加到 loadFunc 的日志记录,创建了 loadFunc 的实例并调用了 setLocation 函数,但从未创建 RecordReader 并且从未调用过 next
-
你能提供你的加载函数的代码吗?
-
对于在寻找ERROR 1066: Unable to open iterator for alias 时发现此帖子的人,这里是generic solution。
标签: hadoop mapreduce apache-pig