Hadoop 需要从PIG中的关系中提取不同的元组,而不考虑顺序,即(1,2)=(2,1)
我对使用Pig和Hadoop非常陌生,所以如果这是非常基本的,请原谅我。我有一个关系,它有一个用户和追随者的列表(比如Twitter),格式是(userA,userB),意思是userB跟随userA。我的任务(是的,这是家庭作业)是找到互相跟随的人。我已经这样做了,我有两倍于我需要的元组,因为我在关系中有(userA,userB)和(userB,userA)。我得到的两个元组中的哪一个并不重要,我只需要去掉其中的一个。DISTINCT关键字对我没有任何好处,因为顺序颠倒了而看不到您的代码。似乎您可以在重复数据消除之前尝试对元组字段进行排序,如下所示:Hadoop 需要从PIG中的关系中提取不同的元组,而不考虑顺序,即(1,2)=(2,1),hadoop,apache-pig,bigdata,Hadoop,Apache Pig,Bigdata,我对使用Pig和Hadoop非常陌生,所以如果这是非常基本的,请原谅我。我有一个关系,它有一个用户和追随者的列表(比如Twitter),格式是(userA,userB),意思是userB跟随userA。我的任务(是的,这是家庭作业)是找到互相跟随的人。我已经这样做了,我有两倍于我需要的元组,因为我在关系中有(userA,userB)和(userB,userA)。我得到的两个元组中的哪一个并不重要,我只需要去掉其中的一个。DISTINCT关键字对我没有任何好处,因为顺序颠倒了而看不到您的代码。似乎
X = FOREACH A GENERATE (f1 < f2 ? f1 : f2), (f1 < f2 ? f2 : f1);
Y = DISTINCT X;
X=FOREACH A GENERATE(f1
请演示您已经尝试过的内容。杰里米,我还没走多远。我的大多数想法都是复制一个关系并将两者连接或组合,但这只会导致更多的重复,而无法识别其中一个元组而不获取另一个元组。我从两个元组(1,2)和(2,1)变成了两个具有更多字段({1,2},{2,1})和({2,1},{1,2})的元组。这让我在元组中以及从元组到元组都有重复。我真的不知道从哪里开始