gpt4 book ai didi

apache-spark - 如何获得 PySpark 中两个 RDD 之间的区别?

转载 作者:行者123 更新时间:2023-12-04 22:57:01 29 4
gpt4 key购买 nike

我正在尝试建立一个队列研究来跟踪应用内用户行为,我想问一下您是否知道如何从 RDD 1 中的 RDD 2 中排除一个元素。鉴于:

rdd1 = sc.parallelize([("a", "xoxo"), ("b", 4)])

rdd2 = sc.parallelize([("a", (2, "6play")), ("c", "bobo")])

例如,要在 rdd1 和 rdd2 之间有共同的元素,我们只需要做:
rdd1.join(rdd2).map(lambda (key, (values1, values2)) : (key, values2)).collect()

这使 :
[('a', (2, '6play'))]

因此,此连接将找到 rdd1 和 rdd2 之间的公共(public)元素,并仅从 rdd2 获取键和值。我想做相反的事情:查找 rdd2 中而不是 rdd1 中的元素,并仅从 rdd2 中获取键和值。换句话说,我想从 rdd2 中获取 rdd1 中不存在的项目。所以预期的输出是:
("c", "bobo")

想法?谢谢 :)

最佳答案

我刚得到答案,很简单!

rdd2.subtractByKey(rdd1).collect()

享受 :)

关于apache-spark - 如何获得 PySpark 中两个 RDD 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40657224/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com