给定initial: PairRDD[(Long, Long)]
,获得other: PairRDD[(Long, Long)]
的最有效方法是什么,其中包含每对initial
一次? (即过滤掉重复的对。)
具体来说,是否有比initial.distinct()
更有效的东西?
答案 0 :(得分:2)
在一般情况下,当您不对数据分布做出任何假设并且您需要确切的结果distinct
实现了几乎最小的正确解决方案:
因此,除非您想要修改内部结构,否则您可以在此处进行改进。
如果你能做出一些假设和/或减少要求,你可以改进。
combineByKey
并将mapSideCombine
组合设置为false
来执行此操作。repartitionAndSortWithinPartitions
和ExternalSorter
。byKey
操作的结果),则只能根据数据量执行精确选择的本地类似操作。