我有两个RDD:
**rdd1**
id1 val1
id2 val2
**rdd2**
id1 v1
id2 v2
id1 v3
id8 v7
id1 v4
id3 v5
id6 v6
我想过滤RDD2,使其仅包含rdd1的键。所以输出将是
**output**
id1 v1
id2 v2
id1 v3
id1 v4
之前已经在stackoverflow中询问过,但是对于人们广播设置然后用于过滤的较小数据集,但我的问题是rdd1 size is> 500万,而rdd2超过100亿
请帮忙
答案 0 :(得分:6)
使用join:
val res: RDD[(Long, V)] = rdd1.join(rdd2)
.map { case(k, (_, v2)) => (k, v2) }