spark二次排序

二次排序概念:
首先按照第一字段排序,然后再对第一字段相同的行按照第二字段排序,注意不能破坏第一次排序的结果 。
废话不多说,直接上代码:

   val rdd = sc.makeRDD( Array(
      (20, 21), ( 50, 51), ( 50 ,52), ( 50, 53), (50, 54), (60, 51),
      (60, 53), ( 60, 52), (60, 56), (60, 57), (70 ,58), (60, 61),
      (70, 54), (70, 55), (70, 56), (70, 57), (70, 58)
    ))
    val result = rdd.sortByKey( true ).aggregateByKey(ArrayBuffer[Int]())( _:+_,_++_ ).mapValues( x => x.sortBy( -_ ))

用scala开发spark的代码就是这么简洁。嘿嘿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值