I am using Pig 0.7. No Luck even after removing explicit cast.

PIG is not able to determine the type of the elements of the map and failing. I 
am able to DUMP A and B in isolation. It's the union that's not working.

DESCRIBE U results in:

{x: map[ ],item: chararray}

-Rakesh

> From: [email protected]
> To: [email protected]; [email protected]
> Date: Thu, 21 Oct 2010 14:19:36 +0530
> Subject: Re: Unexpected data type -1 found in stream.
> 
> Hi Rakesh,
> 
> There was some known concern with explicit cast not working when data is 
> complex type (eg: bags). Check PIG-616. It is marked resolved now.
> As a confirmatory step, you can try removing the explicit cast of chararray 
> and check?
> 
> Thanks & Regards,
> /Rekha.
> 
> On 10/21/10 11:58 AM, "rakesh kothari" <[email protected]> wrote:
> 
> 
My PIG script that is roughly like this:
 
A = LOAD input1 USING JsonLoader AS (x:map[]);
B =  LOAD input2 USING JsonLoader AS (x:map[]);
 
A = FOREACH A GENERATE x, (chararray) x#'item' AS item:chararray;
B = FOREACH B GENERATE x, (chararray) x#'item' AS item:chararray;
 
U = UNION A, B;
 
DUMP U;
 
 
This leads to the following exception:
 
java.lang.RuntimeException: Unexpected data type -1 found in stream.
        at 
org.apache.pig.data.DataReaderWriter.writeDatum(DataReaderWriter.java:306)
        at 
org.apache.pig.data.DataReaderWriter.writeDatum(DataReaderWriter.java:220)
        at org.apache.pig.data.DefaultTuple.write(DefaultTuple.java:269)
        at 
org.apache.pig.impl.io.BinStorageRecordWriter.write(BinStorageRecordWriter.java:69)
        at org.apache.pig.builtin.BinStorage.putNext(BinStorage.java:102)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat$PigRecordWriter.write(PigOutputFormat.java:138)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat$PigRecordWriter.write(PigOutputFormat.java:97)
        at 
org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.write(MapTask.java:498)
        at 
org.apache.hadoop.mapreduce.TaskInputOutputContext.write(TaskInputOutputContext.java:80)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapOnly$Map.collect(PigMapOnly.java:48)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.runPipeline(PigMapBase.java:234)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:227)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:52)
        at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:621)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)
        at 
org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:177)
 
Any ideas ?
 
I am able to dump A and B. 
 
-Rakesh
                                          

Reply via email to