我恐怕没有关于python的知识,所以在这个答案中提供的所有引用和代码都与java相关.但是,将其转换成python代码不是很难.
您应该查看以下webpage.它重定向到Spark的官方网页,该网页提供了Spark支持的所有转换和操作的列表.
如果我没有错误,最好的方法(在你的情况下)将是使用distinct()转换,它返回一个新数据集,它包含源数据集的不同元素(取自链接).在java中,它会是这样的:
JavaPairRDD myDataSet = //already obtained somewhere else
JavaPairRDD distinctSet = myDataSet.distinct();
所以,例如:
Partition 1:
1-y | 1-y | 1-y | 2-y
2-y | 2-n | 1-n | 1-n
Partition 2:
2-g | 1-y | 2-y | 2-n
1-y | 2-n | 1-n | 1-n
将转换为:
Partition 1:
1-y | 2-y
1-n | 2-n
Partition 2:
1-y | 2-g | 2-y
1-n | 2-n |
当然,你仍然会有多个RDD数据集,每个都有一个不同元素的列表.