用密钥减去的函数相反

时间:2016-10-09 21:31:58

标签: scala apache-spark

我有两个形式为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}" } //... } 执行与此相反的方法。 (保留那些不同的。)

1 个答案:

答案 0 :(得分:2)

你无法避免在这里使用某种类型的值,因此应用join和映射值似乎是要走的路。您可以使用:

rdd2.join(rdd1.mapValues(_ => None)).mapValues(_._1)

用虚拟替换值(通常你可以跳过它,因为除非值很大,否则这里没有太大的收获):

_.mapValues(_ => None)

加入并删除占位符:

_.mapValues(_._1)