Jonathan Coveney created PIG-3049:
-------------------------------------

             Summary: Cannot sort on a bag in nested foreach
                 Key: PIG-3049
                 URL: https://issues.apache.org/jira/browse/PIG-3049
             Project: Pig
          Issue Type: Bug
    Affects Versions: 0.11, 0.12
            Reporter: Jonathan Coveney
             Fix For: 0.12


The following script fails.
{code}
a = load 'words_and_numbers' as (word:chararray, number:int);
b = foreach (group a by number) {
  a_bag = a.word;
  ord = order a_bag by word;
  generate group, ord;
}
dump b;
{code}

On this data:
{code}
$ cat words_and_numbers                                                         
                                                     
hey     1
hey     2
you     3
you     4
I       5
could   6
{code}

it throws the following error:

{code}
ava.lang.ClassCastException: java.lang.String cannot be cast to 
org.apache.pig.data.Tuple
        at 
org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject.getNext(POProject.java:469)
        at 
org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.processInput(PhysicalOperator.java:308)
        at 
org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject.getNext(POProject.java:160)
        at 
org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject.getNext(POProject.java:384)
        at 
org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:340)
        at 
org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange.getNext(POLocalRearrange.java:333)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.runPipeline(PigGenericMapBase.java:283)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:278)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:64)
        at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:647)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
        at 
org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:210)
{code}

Is this a supported feature of Pig? Seems reasonable, just seems like something 
weird is going on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to