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

Switch to Plain View
Pig, mail # user - ordering tuple after grouping


+
Chan, Tim 2012-04-16, 20:31
+
Gianmarco De Francisci Mo... 2012-04-16, 20:43
Copy link to this message
-
RE: ordering tuple after grouping
Chan, Tim 2012-04-16, 23:03
Dear Gianmarco,

It works great! Thanks.

Tim
________________________________________
From: Gianmarco De Francisci Morales [[EMAIL PROTECTED]]
Sent: Monday, April 16, 2012 1:43 PM
To: [EMAIL PROTECTED]
Subject: Re: ordering tuple after grouping

Sure,
use a nested foreach.

grouped = group data by $0;
ordered = foreach grouped {
  sorted = order data by $1;
  first = limit sorted 1;
  generate first;
}

Beware, untested code.

Cheers,
--
Gianmarco

On Mon, Apr 16, 2012 at 22:31, Chan, Tim <[EMAIL PROTECTED]> wrote:

> Given data:
>
> (1, 55, abc)
> (2, 23, asd)
> (1, 85, xyz)
> (1, 2, aaa)
>
>
> I would like to group on $0 and then have my grouped tuple be ordered by
> $1. Is this possible?
>
> The output should look like this:
>
> (1, {(1, 2, aaa),(1,55,abc),(1,85,xyz)})
> (2, {(2,23,asd)})
>
>
> Then I would like to keep the first tuple for every group.
>
> For example:
>
> (1,2,aaa)
> (2,23,asd)
>
>
>
+
Russell Jurney 2012-04-17, 00:22
+
Dmitriy Ryaboy 2012-04-17, 07:47
+
Gianmarco De Francisci Mo... 2012-04-17, 08:03
+
Dmitriy Ryaboy 2012-04-17, 09:50
+
Gianmarco De Francisci Mo... 2012-04-17, 10:52