首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PySpark RDD中返回不同的集合?

如何在PySpark RDD中返回不同的集合?
EN

Stack Overflow用户
提问于 2019-05-23 07:01:58
回答 1查看 271关注 0票数 2

我有一个RDD,它有一组不同的值,我想从原始RDD返回所有不同的集合。是否有像distinct这样的关键术语?

代码语言:javascript
复制
example = sc.parallelize([{1}, {2}, {3}, {1}])
example.collect()

这将输出以下内容:

代码语言:javascript
复制
[{1}, {2}, {3}, {1}]

我尝试了example.distinct().collect(),我期望的答案是一个具有不同集的RDD:

代码语言:javascript
复制
[{1}, {2}, {3}]  # expected result

有什么办法可以做到吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-23 07:13:51

转换为frozenset,因为可以对它们进行哈希处理。然后您可以像往常一样调用distinct

代码语言:javascript
复制
example.map(frozenset).distinct().map(set).collect()
# [{1}, {2}, {3}]

正如pault建议的那样,您还可以在删除重复项之前将集合转换为tuple

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56266045

复制
相关文章

相似问题

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