PIG:分组时接收错误

时间:2012-11-05 01:11:57

标签: apache-pig

我有一个叫做Ftel的包。 describe Ftel;会产生以下结果 -

Ftel: {billVal:int, billCount:int}

来自Ftel的转储示例是 -

(20,1)
(5,1)
(5,1)
(10,1)
...
etc.

我使用命令Gtel = group Ftel by billVal;

对上面的包进行了分组

现在,Dump Gtel;会抛出以下错误 -

猪堆痕迹

ERROR 1066: Unable to open iterator for alias Gtel

org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066: Unable to open iterator for alias Gtel
at org.apache.pig.PigServer.openIterator(PigServer.java:765)
at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:615)
at    
org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:303)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:168)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:144)
at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:76)
at org.apache.pig.Main.run(Main.java:455)
at org.apache.pig.Main.main(Main.java:107)
Caused by: java.io.IOException: Job terminated with anomalous status FAILED
at org.apache.pig.PigServer.openIterator(PigServer.java:755)

我不知道造成这个问题的原因。请帮忙。

谢谢!

2 个答案:

答案 0 :(得分:0)

它现在有效......我刚从

改变了Ftel

Ftel:{billVal:int,billCount:int}

Ftel:{billVal:chararray,billCount:int}

似乎分组只有在组密钥是chararray时才有效。有谁知道为什么??

答案 1 :(得分:0)

作为未来搜索者的一个提示,我遇到了同样的问题,脚本在群集上运行良好。

问题是映射器输出仍在被压缩。在我的脚本中注释掉这些选项修复了它:

SET mapred.compress.map.output 'true';
SET mapred.map.output.compression.codec 'org.apache.hadoop.io.compress.GzipCodec';