在成对的rdd中生成rdd唯一值

use*_*714 1 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)

我想在此RDD的所有Array元素中获取所有唯一值,我不在乎键,只想获取所有唯一值。因此,以上示例的结果为(1,2,3,4,5,20,30,50,400)。

什么是这样做的有效方法。

Jas*_*man 5

我认为这应该可行:

val result = rdd.flatMap(_._2).distinct
Run Code Online (Sandbox Code Playgroud)

如果您希望结果为RDD

val result = rdd.flatMap(_._2).distinct.collect
Run Code Online (Sandbox Code Playgroud)

如果要将结果存储在本地集合中。