我有一个RDD,它有一组不同的值,我想从原始RDD返回所有不同的集合。是否有像distinct这样的关键术语?
example = sc.parallelize([{1}, {2}, {3}, {1}])
example.collect()
这将输出以下内容:
[{1}, {2}, {3}, {1}]
我尝试了example.distinct().collect()
,我期望的答案是一个具有不同集的RDD:
[{1}, {2}, {3}] # expected result
有什么办法可以做到吗?
发布于 2019-05-23 07:13:51
转换为frozenset
,因为可以对它们进行哈希处理。然后您可以像往常一样调用distinct
:
example.map(frozenset).distinct().map(set).collect()
# [{1}, {2}, {3}]
正如pault建议的那样,您还可以在删除重复项之前将集合转换为tuple
。
https://stackoverflow.com/questions/56266045
复制相似问题