首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从星火RDDPair值中删除重复项

从星火RDDPair值中删除重复项
EN

Stack Overflow用户
提问于 2015-06-16 08:05:38
回答 1查看 1.6K关注 0票数 0

我是Python和Spark的新手。我有一对包含(key,List)的RDD,但是有些值是重复的。RDD是表单(zipCode,streets),我想要一对不包含重复项的RDD。我正在尝试使用python来实现它。有人能帮忙吗。

(邮编,街道)

代码语言:javascript
运行
复制
streetsGroupedByZipCode = zipCodeStreetsPairTuple.groupByKey()
dayGroupedHosts.take(2)

[(123456, <pyspark.resultiterable.ResultIterable at 0xb00518ec>),
 (523900, <pyspark.resultiterable.ResultIterable at 0xb005192c>)]

zipToUniqueStreets = streetsGroupedByZipCode.map(lambda (x,y):(x,y.distinct()))

上边不起作用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-16 13:56:00

我会这样做:

代码语言:javascript
运行
复制
streetsGroupedByZipCode.map(x => (x._1, x._2.groupBy(_._2).map(_._2.head)))

在元组上不同并不像您说的那样有效,所以按tuple分组列表,最后只获得第一个元素。

代码语言:javascript
运行
复制
val data = Seq((1, Seq((1, 1), (2, 2), (2, 2))), (10, Seq((1, 1), (1, 1), (3, 3))), (10, Seq((1, 2), (2, 4), (1, 2))))

给予:

代码语言:javascript
运行
复制
(10,Map(1 -> 1, 3 -> 3))
(1,Map(2 -> 2, 1 -> 1))
(10,Map(1 -> 2, 2 -> 4))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30861993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档