无论顺序如何,都需要从PIG中的关系中提取不同的元组,即(1,2)=(2,1)

时间:2015-03-14 17:43:15

标签: hadoop apache-pig bigdata

我是使用Pig和Hadoop的新手,所以请原谅我这是非常基本的。我的关系有一个用户和关注者列表(如Twitter),格式为(userA,userB),意味着userB跟随userA。我的任务(是的,这是家庭作业)是找到相互关注的人。我已经完成了这个,因为我有(userA,userB)和(userB,userA)关系,所以我需要两倍多的元组。我最终得到的两个元组中的哪一个无关紧要,我只需要消除其中一个元组。由于订单被颠倒,DISTINCT关键字对我没有任何好处

1 个答案:

答案 0 :(得分:0)

在没有看到你的代码的情况下,似乎你可以尝试在重复数据删除之前对元组的字段进行排序,如下所示:

X = FOREACH A GENERATE (f1 < f2 ? f1 : f2), (f1 < f2 ? f2 : f1);
Y = DISTINCT X;