generate K.(x1), K.(x2), K.(x3) .... , K.(x100); and generate
K(x1,...,x100) are actually very different.

The latter is a bag, with columns x1, x2..x100. This is generally what is
desired.

The former is a bag of column x1, then a bag of column x2, then a bag of
column x3, etc. Each will be unordered and independent.

2012/6/24 yonghu <yongyong...@gmail.com>

> You can also write like
>
> K1.(x1,x2,...,x100).
>
> regards!
>
> Yong
>
> On Sun, Jun 24, 2012 at 8:40 PM, Yang <teddyyyy...@gmail.com> wrote:
> > thanks,
> >
> > but this is a bit more cumbersome: if I have
> >
> > generate K.(x1), K.(x2), K.(x3) .... , K.(x100);
> >
> > I'd have to re-write each xn by adding K.( )
> >
> >
> > it would be nice if the schema of K can strip off the surrounding {( )}.
> > actually it should,
> > since this is after a FLATTEN()
> >
> >
> > Yang
> >
> > On Sun, Jun 24, 2012 at 11:17 AM, yonghu <yongyong...@gmail.com> wrote:
> >
> >> So, I think you want to project the x in K. You can write the pig as:
> >>
> >> M = foreach K generate K.(x) as X;
> >>
> >> Hope this can help you.
> >>
> >> Yong
> >>
> >> On Sun, Jun 24, 2012 at 12:40 PM, Yang <teddyyyy...@gmail.com> wrote:
> >> > my UDF returns a bag of tuples : mybag:bag{ mytuple: tuple ( x: int,
> >> y:int)}
> >> >
> >> > in my pig script:
> >> >
> >> > I do
> >> >
> >> > K = foreach blah generate UDF( xxx);
> >> >
> >> > M = foreach K generate x;
> >> >
> >> >
> >> > here PIG 0.8.1 says x can not be found in schema, since
> >> >
> >> > describe K
> >> >
> >> > shows:
> >> > { mytuple:tuple(x:int , y:int) }
> >> >
> >> > while 0.10.0
> >> >
> >> > shows
> >> > {x:int, y:int}
> >>
>

Reply via email to