Type mismatch error in key from map, when doing GROUP on PigStorageSchema() 
variable
------------------------------------------------------------------------------------

                 Key: PIG-1830
                 URL: https://issues.apache.org/jira/browse/PIG-1830
             Project: Pig
          Issue Type: Bug
            Reporter: Mitesh Singh Jat


Pig fails when we try to GROUP data loaded via PigStorageSchema.

{code lang=java}
Events = LOAD 'input/PigStorageSchema' USING 
org.apache.pig.piggybank.storage.PigStorageSchema();

Sessions = GROUP Events BY name;

DUMP Sessions;
{code}

Schema file '''input/PigStorageSchema/.pig_schema'''
{code lang=java}
{"fields":[{"name":"name","type":55,"schema":null,"description":"autogenerated 
from Pig Field 
Schema"},{"name":"val","type":10,"schema":null,"description":"autogenerated 
from Pig Field Schema"}],"version":0,"sortKeys":[],"sortKeyOrders":[]}
{code}

Sample input file '''input/PigStorageSchema/pss.in'''
{code lang=java}
peter   1
samir   3
michael 4
peter   2
peter   4
samir   1
{code}

On running the above pig script, the following error is received.

{code lang=java}
2010-12-15 08:07:58,367 WARN org.apache.hadoop.mapred.Child: Error running child
java.io.IOException: Type mismatch in key from map: expected 
org.apache.pig.impl.io.NullableText, recieved
org.apache.pig.impl.io.NullableBytesWritable
        at 
org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:898)
        at 
org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:600)
        at 
org.apache.hadoop.mapreduce.TaskInputOutputContext.write(TaskInputOutputContext.java:80)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce$Map.collect(PigMapReduce.java:116)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.runPipeline(PigMapBase.java:238)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:231)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:53)
        at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:674)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:335)
        at org.apache.hadoop.mapred.Child$4.run(Child.java:242)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1062)
        at org.apache.hadoop.mapred.Child.main(Child.java:236)
{code}

On changing "type" of "name" from 55(chararray) to 50(bytearray), the
GROUP-BY worked.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to