在pig中按x或y分组

nbysray5  于 2021-06-24  发布在  Pig
关注(0)|答案(0)|浏览(180)

我正在用pig处理大量数据,需要按一个字段或另一个字段对记录进行分组。小心,这不是经典 GROUP BY X AND Y ,我的意思是,如果两个记录的属性x或y的值相同,就必须对它们进行分组。
例如,给定此数据集:

1, a, 'r1'
2, b, 'r2'
3, c, 'r3'
4, a, 'r4'
3, d, 'r5'
5, c, 'r6'
5, e, 'r7'

按第一个或第二个字段分组的结果应为:

{(1, a, 'r1'), (4, a, 'r4')}
{(2, b, 'r2')}
{(3, c, 'r3'), (3, d, 'r5'), (5, c, 'r6'), (5, e, 'r7')}

(1) 因为“r1”和“r4”对于第二个属性具有相同的值。
(2) 第一个或第二个字段的记录“r2”没有任何重合。
(3) 最后,“r3”与“r5”共享第一个属性的值,与“r6”共享第二个字段的值。对于第一个属性,“r6”与“r7”共享相同的值。请注意,“r3”和“r7”没有任何共同的字段,但是链接了它们在同一组中结束的记录。
我已经用java(out of pig)解决了这个问题,并且我知道如何使用map reduce。但是(为了学习)我想知道如何使用pig拉丁语,或者任何可以帮助我的图书馆。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题