Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 需要从PIG中的关系中提取不同的元组,而不考虑顺序,即(1,2)=(2,1)_Hadoop_Apache Pig_Bigdata - Fatal编程技术网

Hadoop 需要从PIG中的关系中提取不同的元组,而不考虑顺序,即(1,2)=(2,1)

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关键字对我没有任何好处,因为顺序颠倒了而看不到您的代码。似乎

我对使用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})的元组。这让我在元组中以及从元组到元组都有重复。我真的不知道从哪里开始