如何相交不同的JavaPairRDD

Posted

技术标签:

【中文标题】如何相交不同的JavaPairRDD【英文标题】:How to intersec differents JavaPairRDD 【发布时间】:2017-12-26 00:32:21 【问题描述】:

我有两个不同的 JavaPairRdd 一个带有 Key1,value 和第二个带有 key2,value 。我试图实现的是合并它们,但只获得具有相同值的项目。

我尝试了以下方法:

 JavaPairRDD<String, String> finalRdd = filteredRdd.intersection(filteredsmallRdd);

其中 filtersRdd 包含 key:Country , value 和 filteredsmallRdd 包含: key:id , value 。并且我需要哪些元素具有相同的值,与交集我认为比较唯一的关键,我得到一个空的解决方案,知道如何做到这一点吗?

【问题讨论】:

【参考方案1】:

您可以使用swap将值更改为每个rdd的键,然后执行交集。

JavaPairRDD<String,String> finalRdd = filteredRdd.mapToPair(f -> f.swap()).intersection(filteredsmallRdd.mapToPair(f -> f.swap()));

【讨论】:

以上是关于如何相交不同的JavaPairRDD的主要内容,如果未能解决你的问题,请参考以下文章

如何检测其他 SKSpriteNodes 的子节点的相交节点

Arcgis—求不同图层的相交区域面积

ARCGIS里面2个面图层,部分面完全相同(包括属性),部分不同,请教:如何将相同的面提取出来?

舍友洗了个澡,我就解决了相交链表问题

检查包含单词 implode / 不同数组与数组相交的值

使用 Linq 从列表中删除与属性相交的项目