Hmm, this is an interesting case. I think there may be a bug here.
grunt> grouped = load 'thing' as
(seedword:chararray,baggy:{outertup:(groupy:(seedword:chararray,
coword:chararray))});
grunt> describe grouped;
grouped: {seedword: chararray,baggy: {groupy: (seedword: chararray,coword:
chararray)}}
notice that outertup has been thrown out. I suppose having a bunch of
nested tuples is equivalent to getting rid of them, still, it's not
something that pig should do. For the Pig devs, is this expected?
Either way. in this case, you would do:
a = foreach grouped generate seedword, baggy.coword;
and go for there
let me know if that works
2012/1/12 Yulia Tolskaya <[email protected]>
> I have been stuck on this for several hours and I cannot figure out what I
> am doing wrong. I have a relation "grouped" with the schema of
>
> grouped: {seedword: chararray,baggy: {outertup: (groupy: (seedword:
> chararray,coword: chararray))}}
>
> I need to generate just the seedword and a tuple of cowords. In my example
> I would want
>
> (auto, (car, truck)).
>
> I have tried:
>
> FOREACH grouped GENERATE baggy::outertup.groupy.coword;
>
> FOREACH grouped GENERATE baggy.outertup.groupy.coword;
> FOREACH grouped GENERATE baggy.groupy.coword;
>
>
> and none of these (or other similar variations) work, and give me error
> messages saying there is no such field. I"m assuming there has to be a way
> to do this. Please help!!
>
>
> Yulia
>
>