如何交叉不同的JavaPairRDD
How to intersec differents JavaPairRDD
我有两个不同的 JavaPairRdd,一个是 Key1,value,另一个是 key2,value。我试图实现的是合并它们,但只获得具有相同值的项目。
我试过以下方法:
JavaPairRDD<String, String> finalRdd = filteredRdd.intersection(filteredsmallRdd);
其中 filteredRdd 包含 key:Country , value 和 filteredsmallRdd 包含: key:id , value 。并且我需要哪些元素具有相同的值,与交集我认为比较唯一的关键,我得到一个空的解决方案,知道如何做到这一点吗?
可以用swap
把每个rdd的值改成key,然后求交。
JavaPairRDD<String,String> finalRdd = filteredRdd.mapToPair(f -> f.swap()).intersection(filteredsmallRdd.mapToPair(f -> f.swap()));
我有两个不同的 JavaPairRdd,一个是 Key1,value,另一个是 key2,value。我试图实现的是合并它们,但只获得具有相同值的项目。
我试过以下方法:
JavaPairRDD<String, String> finalRdd = filteredRdd.intersection(filteredsmallRdd);
其中 filteredRdd 包含 key:Country , value 和 filteredsmallRdd 包含: key:id , value 。并且我需要哪些元素具有相同的值,与交集我认为比较唯一的关键,我得到一个空的解决方案,知道如何做到这一点吗?
可以用swap
把每个rdd的值改成key,然后求交。
JavaPairRDD<String,String> finalRdd = filteredRdd.mapToPair(f -> f.swap()).intersection(filteredsmallRdd.mapToPair(f -> f.swap()));