Spark rdd配对rdd中的唯一值

时间:2016-02-17 22:42:46

标签: scala apache-spark

  

我有这种数据类型的Spark RDD:RDD [(Int,Array [Int])])

     

该RDD的样本值为:

     

100,数组(1,2,3,4,5)

     

200,阵列(1,2,50,20)

     

300,数组(30,2,400,1)

     

我想获得所有Array元素中的所有唯一值   这个RDD我不关心关键,只想得到所有   独特的价值观所以上面样本的结果是   (1,2,3,4,5,20,30,50,400)。

     

这将是一种有效的方式。

1 个答案:

答案 0 :(得分:4)

我认为这应该可行:

val result = rdd.flatMap(_._2).distinct

如果您想将结果放在RDD

val result = rdd.flatMap(_._2).distinct.collect

如果您希望将结果放在本地集合中。