我有这种数据类型的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)。
这将是一种有效的方式。
答案 0 :(得分:4)
我认为这应该可行:
val result = rdd.flatMap(_._2).distinct
如果您想将结果放在RDD
或
val result = rdd.flatMap(_._2).distinct.collect
如果您希望将结果放在本地集合中。