我有两个形式为RDD1 [K,V1]和RDD2 [K,V2]的RDD。我希望删除RDD2中不在RDD1中的值。 (基本上是每个RDD键上的内部联接,但我不想复制RDD1的值。)
我知道方法class EventController extends RestfulController {
EventController() {
super(Event)
}
}
class EventAttendeeController {
def delete() {
print "${params.eventId}"
print "${params.Id}"
}
//...
}
执行与此相反的方法。 (保留那些不同的。)
答案 0 :(得分:2)
你无法避免在这里使用某种类型的值,因此应用join
和映射值似乎是要走的路。您可以使用:
rdd2.join(rdd1.mapValues(_ => None)).mapValues(_._1)
用虚拟替换值(通常你可以跳过它,因为除非值很大,否则这里没有太大的收获):
_.mapValues(_ => None)
加入并删除占位符:
_.mapValues(_._1)