在成对的rdd中生成rdd唯一值 [英] Spark rdd unique values across a paired rdd

查看:60
本文介绍了在成对的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆