如何使用Spark实现TopN的获取(描述思路或使用伪代码) 方法1: (1)按照key对数据进行聚合(groupByKey) (2)将value转换为数组,利用scala的sortBy或者sortWith进行排序(mapValues)数据量太大,会OOM。 方法2: (1)取出所有的key (2)对key进行迭代,每次取出一个key利用spark的排序算子进行排序 方法3: (1)自定义分区器,按照key进行分区,使不同的key进到不同的分区 (2)对每个分区运用spark的排序算子进行排序