Spark - 实现TopN

2022-02-10  本文已影响0人  坨坨的大数据

经典面试题
两种方式

方式一

1.按照key对数据进行聚合(groupByKey)
2.将value转换为数组,利用scala的sortBy或者sortWith进行排序(mapValues)
缺点:数据量太大会OOM

方式二

1.自定义分区器,按照key进行分区,使不同的key进到不同的分区
2.对每个分区运用spark的排序算子进行排序

上一篇 下一篇

猜你喜欢

热点阅读