我对使用Pig和Hadoop非常陌生,所以如果这是非常基础的话,请原谅我。我有一个关系,该关系具有格式为(userA,userB)的用户和关注者(如Twitter)列表,这意味着userB跟随userA。我的任务(是的,这是家庭作业)是寻找彼此关注的人。我这样做了,因为我的关系中有(userA,userB)和(userB,userA),所以我有两倍的元组。我最终得到两个元组中的哪个都无所谓,我只需要消除其中一个。 DISTINCT关键字对我没有帮助,因为顺序相反

最佳答案

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

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

关于hadoop - 无论顺序如何,都需要从PIG中的关系中提取不同的元组,即(1,2)=(2,1),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29052126/

10-16 01:08