Spark算子的转换操作介绍

这篇文章主要介绍“Spark算子的转换操作介绍”,在日常操作中,相信很多人在Spark算子的转换操作介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spark算子的转换操作介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

10年积累的成都网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有银川免费网站建设让你可以放心的选择与我们合作。

##概述
每一次转换操作都会产生不同的RDD,供给下一个操作使用。
####算子
解决问题其实是将问题的初始化状态,通过一系列的操作Operate对问题的状态进行转换,然后达到完成解决的状态
####惰性机制
RDD的转换过程是惰性求值的,也就是,整个转换过程只记录轨迹,并不会发生真正的计算,只有遇到了行动操作时,才会触发真正的计算。
##filter(func)
过滤出满足函数func的元素,并返回存入一个新的数据集

val conf = new SparkConf().setAppName("spark").setMaster("local")    val sc = new SparkContext(conf)    val rdd = sc.parallelize(List(1,2,3,4,5,6))    val result = rdd.filter(_%2==0)    println(result.collect().mkString(","))

##map(func)
将每个元素传递到函数func中进行操作,并将结果返回为一个新的数据集。
collect()以数组的形式返回rdd的结果,但列表中每个数乘以2

val conf = new SparkConf().setAppName("spark").setMaster("local")    val sc = new SparkContext(conf)    val rdd = sc.parallelize(List(1,2,3,4,5,6))    val mapResult = rdd.map(_*2)    println(mapResult.collect().toBuffer)

##flatMap(func)
与map相似,但是每个输入元素都可以映射到0或多个输出结果,所以func应该返回一个序列,而不是单一元素

val conf = new SparkConf().setAppName("RDD").setMaster("local[*]")    val sc = new SparkContext(conf)    val arrayRDD: RDD[List[Int]] = sc.makeRDD(Array(List(1,2),List(3,4)))    val listRDD: RDD[Int] = arrayRDD.flatMap(data=>data)    listRDD.collect().foreach(println)
val conf = new SparkConf().setAppName("spark").setMaster("local")    val sc = new SparkContext(conf)    val rdd = sc.parallelize(Array("a b c","b c d"))    val result = rdd.flatMap(_.split(" "))    println(result.collect().mkString(","))

##sample
参数1 是否抽出的数据放回
参数2 抽样比例 浮点型
参数3 种子,默认值

val conf = new SparkConf().setAppName("spark").setMaster("local")    val sc = new SparkContext(conf)    val rdd = sc.parallelize(1 to 10)    val result = rdd.sample(false,0.5)    println(result.collect().mkString(","))

##union
求并集

##intersection
求交集

##distinct
去除重复元素

到此,关于“Spark算子的转换操作介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享文章:Spark算子的转换操作介绍
浏览路径:http://scyanting.com/article/gsogpg.html