开发者社区> 问答> 正文

如何使用Spark解决分组排序问题?

如何使用Spark解决分组排序问题?

展开
收起
茶什i 2019-10-29 11:56:03 1934 0
1 条回答
写回答
取消 提交回答
  • aa 11
    bb 11
    cc 34
    aa 22
    bb 67
    cc 29
    aa 36
    bb 33
    cc 30
    aa 42
    bb 44
    cc 49
    需求:
    1、对上述数据按key值进行分组
    2、对分组后的值进行排序
    3、截取分组后值得top 3位以key-value形式返回结果

    代码如下:

    val groupTopNRdd = sc.textFile("hdfs://db02:8020/user/hadoop/groupsorttop/groupsorttop.data")
    groupTopNRdd.map(_.split(" ")).map(x => (x(0),x(1))).groupByKey().map(
    x => {
    val xx = x._1
    val yy = x._2
    (xx,yy.toList.sorted.reverse.take(3))
    }
    ).collect
    
    2019-10-30 15:01:11
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载