Spark开发之四种方式实现Scala中的自定义排序和二次排序算法

import org.apache.spark.rdd.RDD
import org.apache.spark.{
   SparkConf, SparkContext}

/**
 * Spark应用:自定义排序 + 二次排序
 * 需求:对数据集按照产品价格降序排序,产品价格相同再按照产品数量降序排序
 */
object sortAPP {
   
  def main(args: Array[String]): Unit = {
   
    //初始化sc
    val sparkConf = new SparkConf().setAppName("sortAPP").setMaster("local[2]")
    val sc = new SparkContext(sparkConf)

    //生成RDD
    val rdd = sc.makeRDD(List(
      "Huawei P40,4999,1000",
      "Huawei P30 Pro,3999,5000",
      "IPhone 8P,6999,6000",
      "IPhone X,10999,3000",
      "IPhone 7,4999,3000",
      "Sunsum Galexy,5399,6000",
      "OPPO R11,3999,8000"))

    //功能实现
    //方法一:通过元组实现自定义排序
    val sortedRDD1 = rdd.map(line => {
   
      val strings = line.split(",")
      val proName = strings(0)
      val proPrice =
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值