我有2个RDD:
Rdd1:(String,CompactBuffer)
(3,CompactBuffer(3, 5, 6, 7, 8, 9))
(4,CompactBuffer(2, 4))
(1,CompactBuffer(1, 4, 5, 7, 8, 9))
(5,CompactBuffer(1, 8))
(2,CompactBuffer(1, 2, 3, 4, 6, 8, 9))
Rdd2:(String,Long)
(1,6)
(2,7)
(3,6)
我想用Rdd2的键过滤Rdd1,即只保存具有相同键的条目。假设Rdd2有3个(键,值)对,意味着3个键,即1,2和3.所以我只需要Rdd1中的(键,值)对,它们在Rdd2中保持相同的键。所以预期的结果如下:
Rdd3:(String, CompactBuffer)
(3,CompactBuffer(3, 5, 6, 7, 8, 9))
(1,CompactBuffer(1, 4, 5, 7, 8, 9))
(2,CompactBuffer(1, 2, 3, 4, 6, 8, 9))
答案 0 :(得分:3)
Rdd1.join(Rdd2).map(x => x._1 -> x._2._1)