3

我有一个叫 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)

我不知道是什么导致了这个问题。请帮忙。

谢谢!

4

2 回答 2

0

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

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

SET mapred.compress.map.output 'true';
SET mapred.map.output.compression.codec 'org.apache.hadoop.io.compress.GzipCodec';
于 2013-03-05T01:25:14.607 回答
0

现在可以了...我刚刚将 Ftel 从

Ftel:{billVal:int,billCount:int}

Ftel: {billVal:chararray, billCount:int}

似乎分组仅在组键是 chararray 时才有效。有谁知道为什么?

于 2012-11-05T12:25:37.993 回答