Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Pig >> mail # user >> Converting an inner bag

Copy link to this message
Re: Converting an inner bag
I= foreach A generate group, flatten(items);

I believe that should do it.

On Oct 8, 2010, at 9:13 AM, Josh Devins wrote:

> I have a simple schema that contains an inner bag. What I need to
> essentially do is that for each tuple in the inner bag, I need to create a
> new tuple in a new outer bag. This is easier shown than explained! Consider
> the following schema and data:
> A: {id: chararray, items: {item: chararray}}
> (a1, {(i1), (i2), (i3)})
> (a2, {(i1), (i2), (i3)})
> This needs to turn into some relation, I that looks like:
> I: {id: chararray, item: chararray}
> (a1, i1)
> (a1, i2)
> (a1, i3)
> (a2, i1)
> (a2, i2)
> (a2, i3)
> ...so that I can then do a join with another relation X against the item
> field from I.
> Any ideas? Hope that description made sense.
> Many thanks,
> Josh