Guillem LEFAIT created PIG-4063:
-----------------------------------

             Summary: BinSedesTuple cannot be cast to 
org.apache.pig.pen.util.ExampleTuple
                 Key: PIG-4063
                 URL: https://issues.apache.org/jira/browse/PIG-4063
             Project: Pig
          Issue Type: Bug
    Affects Versions: 0.12.0
         Environment: local environment
            Reporter: Guillem LEFAIT


I got the following (simplified) input :

{code:title=input|borderStyle=solid}
0       1135429845
-7727023712262303168    2004267823
-7727023712262303168    2004267823
{code}


If I use the following script:
{code:title=script.pig|borderStyle=solid}
data = LOAD 'input' USING PigStorage('\t') AS (uid:chararray, hash:chararray);
dataUidNotNull = FILTER data BY (uid != '0') AND (uid != '') AND (uid is not 
null);
dataUidNotNullDistinct = DISTINCT dataUidNotNull;
dataUidGroup = GROUP dataUidNotNullDistinct BY uid;
ILLUSTRATE dataUidGroup;
{code}

I got this error :
{quote}
Pig Stack Trace
---------------
ERROR 2997: Encountered IOException. Exception 

java.io.IOException: Exception 
        at org.apache.pig.PigServer.getExamples(PigServer.java:1246)
        at 
org.apache.pig.tools.grunt.GruntParser.processIllustrate(GruntParser.java:831)
        at 
org.apache.pig.tools.pigscript.parser.PigScriptParser.Illustrate(PigScriptParser.java:802)
        at 
org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:381)
        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.run(Grunt.java:69)
        at org.apache.pig.Main.run(Main.java:541)
        at org.apache.pig.Main.main(Main.java:156)
Caused by: java.lang.ClassCastException: org.apache.pig.data.BinSedesTuple 
cannot be cast to org.apache.pig.pen.util.ExampleTuple
        at 
org.apache.pig.pen.AugmentBaseDataVisitor.visit(AugmentBaseDataVisitor.java:444)
        at 
org.apache.pig.newplan.logical.relational.LODistinct.accept(LODistinct.java:51)
        at 
org.apache.pig.pen.util.PreOrderDepthFirstWalker.depthFirst(PreOrderDepthFirstWalker.java:82)
        at 
org.apache.pig.pen.util.PreOrderDepthFirstWalker.depthFirst(PreOrderDepthFirstWalker.java:84)
        at 
org.apache.pig.pen.util.PreOrderDepthFirstWalker.walk(PreOrderDepthFirstWalker.java:66)
        at org.apache.pig.newplan.PlanVisitor.visit(PlanVisitor.java:52)
        at 
org.apache.pig.pen.ExampleGenerator.getExamples(ExampleGenerator.java:180)
        at org.apache.pig.PigServer.getExamples(PigServer.java:1240)
        ... 8 more
{quote}

I also get the following debug message :
{quote}
DEBUG mapReduceLayer.PigMapReduce$Reduce: Reduce Plan empty!
{quote}

However, if I save dataUidNotNullDistinct and load it again, I got no more 
error, i.e. that script below is working:
{code:title=scriptOK.pig|borderStyle=solid}
data = LOAD 'inputNoBag' USING PigStorage('\t') AS (uid:chararray, 
hash:chararray);
dataUid = FOREACH data GENERATE uid as uid, hash as hash;
dataUidNotNull = FILTER dataUid BY (uid != '0') AND (uid != '') AND (uid is not 
null);
dataUidNotNullDistinct = DISTINCT dataUidNotNull;
STORE dataUidNotNullDistinct INTO 'output';
dataUidNotNullDistinct2 = LOAD 'output' USING PigStorage('\t') AS 
(uid:chararray, hash:chararray);
dataUidGroup = GROUP dataUidNotNullDistinct2 BY uid;
ILLUSTRATE dataUidGroup;
{code}





--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to