我有一个 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
有什么办法吗?
请您参考如下方法:
转换为 frozenset 因为这些可以被散列。然后您可以像往常一样调用 distinct:
example.map(frozenset).distinct().map(set).collect()
# [{1}, {2}, {3}]
正如 pault 所建议的,您还可以在删除重复项之前将集合转换为 tuple。
