在成对的rdd中生成rdd唯一值 [英] Spark rdd unique values across a paired rdd
本文介绍了在成对的rdd中生成rdd唯一值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个此数据类型的Spark RDD:RDD [(Int,Array [Int])])
I have a Spark RDD of this datatype: RDD[(Int, Array[Int])])
该RDD的样本值为:
100,数组(1,2,3,4,5)
100, Array(1,2,3,4,5)
200,Array(1,2,50,20)
200,Array(1,2,50,20)
300,数组(30,2,400,1)
300, Array(30,2,400,1)
我想获得所有Array元素中的所有唯一值我不关心这个RDD的密钥,只想获得所有独特的价值观.因此,以上示例的结果是(1,2,3,4,5,20,30,50,400).
I would like to get all the unique values among all the Array elements of this RDD I don't care about the key, just want to get all the unique values. So the result from the above sample is (1,2,3,4,5,20,30,50,400).
什么是有效的方法.
推荐答案
我认为这应该可行:
val result = rdd.flatMap(_._2).distinct
如果您希望结果以 RDD
或
val result = rdd.flatMap(_._2).distinct.collect
如果要在本地集合中显示结果.
if you want the result in a local collection.
这篇关于在成对的rdd中生成rdd唯一值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文