I would like to set the schema after joining so that I do not have to always 
dereference.  However, I receive an error when I try this.  How can I resolve 
this error?  

pig version 0.11

Error message:  

[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1031: Incompatable field 
schema: declared is "tuple_0:tuple(name:chararray,age:int,gpa:float)", infered 
is "A::gpa:float"


Trivial sample code to demonstrate issue:

/*
  studenttab10k file from
  http://people.apache.org/~hashutosh/
*/

A = LOAD '/Users/mike/Documents/code/hadoop/pig/data/studenttab10k' AS 
(name:chararray, age:int, gpa:float);
B = LOAD '/Users/mike/Documents/code/hadoop/pig/data/studenttab10k' AS 
(name:chararray, age:int, gpa:float);
C = JOIN A by name, B by name;
ILLUSTRATE C;

D = FOREACH C GENERATE A::name, A::age, A::gpa AS (name:chararray, age:int, 
gpa:float);
DESCRIBE D;


ILLUSTRATE C output:

---------------------------------------------------------
| A     | name:chararray    | age:int    | gpa:float    |
---------------------------------------------------------
|       | xavier steinbeck  | 58         | 2.99         |
|       | xavier steinbeck  | 23         | 0.59         |
---------------------------------------------------------
---------------------------------------------------------
| B     | name:chararray    | age:int    | gpa:float    |
---------------------------------------------------------
|       | xavier steinbeck  | 58         | 2.99         |
|       | xavier steinbeck  | 23         | 0.59         |
---------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
| C     | A::name:chararray    | A::age:int    | A::gpa:float    | 
B::name:chararray    | B::age:int    | B::gpa:float    |
---------------------------------------------------------------------------------------------------------------------------
|       | xavier steinbeck     | 58            | 2.99            | xavier 
steinbeck     | 58            | 2.99            |
|       | xavier steinbeck     | 58            | 2.99            | xavier 
steinbeck     | 23            | 0.59            |
|       | xavier steinbeck     | 23            | 0.59            | xavier 
steinbeck     | 58            | 2.99            |
|       | xavier steinbeck     | 23            | 0.59            | xavier 
steinbeck     | 23            | 0.59            |
---------------------------------------------------------------------------------------------------------------------------

Reply via email to