文章目录
一、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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。