okay, I have to blow some steam here, did you know that if
describe A;
A: {id: int, bad: (a: int,b: int,z: int)}
and I do
B = foreach A generate id, FLATTEN(bad) as c;
That this would actually run without error and that c takes value of a, and
then an anonymous field is created for b. (So, b is not dropped by this
cast)
I wonder if either the "B =" statement should generate an error, OR
it would rename a to c and drop the column b ?
The statement:
B = foreach A generate id, FLATTEN(bad) as (c,d);
describe B;
B: {id: int,c: int,d:int}
Seems to make more sense than a silent non-dropping result.