【spark】map算子n种简化写法


一、map算子的简化写法

如下最原始的写法,写法代码量比较多,没有更好的使用代码简化。
代码如下(示例):

  def main(args: Array[String]): Unit = {
    val sparkconf = new SparkConf().setMaster("local[*]").setAppName("test")
    var sc =  new SparkContext(sparkconf);
    val rdd = sc.makeRDD(List(1,2,3,4))
    def mapFunction(num:Int):Int={
      num*2;
    }
    val value = rdd.map(mapFunction)
    value.collect().foreach(println)
    sc.stop();
  }

这种写法就比较麻烦,下面写法,依次简化

    //使用匿名函数
    val value = rdd.map((num:Int)=>{num*2})
    // 当函数代码只有一行,大括号可以省略,这个java也有这种写法
    val value = rdd.map((num:Int)=>num*2)
    //参数类型只有一个,可以推断出来, 类型也可以省略
    val value = rdd.map((num)=>num*2)
    // 如果参数只有一个,小括号也可以省略
    val value = rdd.map(num=>num*2)
    //num只出现了一次,而且是按照顺序出现的,则num可以通过  _ 来表示
    val value = rdd.map(_*2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叁滴水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值