Dat*_*ted 4 mapreduce apache-spark rdd apache-spark-sql pyspark
我正在尝试建立一个队列研究来跟踪应用内用户行为,我想问你是否知道我如何从RDD 2中的RDD 2中排除一个元素.给定:
rdd1 = sc.parallelize([("a", "xoxo"), ("b", 4)])
rdd2 = sc.parallelize([("a", (2, "6play")), ("c", "bobo")])
Run Code Online (Sandbox Code Playgroud)
例如,要在rdd1和rdd2之间使用公共元素,我们只需要:
rdd1.join(rdd2).map(lambda (key, (values1, values2)) : (key, values2)).collect()
Run Code Online (Sandbox Code Playgroud)
这使 :
[('a', (2, '6play'))]
Run Code Online (Sandbox Code Playgroud)
因此,此连接将找到rdd1和rdd2之间的公共元素,并仅从rdd2获取键和值.我想做相反的事情:找到rdd2中的元素而不是rdd1中的元素,并仅从rdd2获取键和值.换句话说,我想从rdd2中获取rdd1中不存在的项目.所以预期的输出是:
("c", "bobo")
Run Code Online (Sandbox Code Playgroud)
想法?谢谢 :)
| 归档时间: |
|
| 查看次数: |
2686 次 |
| 最近记录: |