CDA数据分析师学习之路出系列了,每篇都有数据分析、大数据相关文章和视频,各大名师主讲,每周一、二、四、五更新!CDA数据分析师学习之路已经更新到CDA数据分析师学习之路(33)了,欢迎观看学习!
另外欢迎各位坛友投稿数据分析相关视频和文章,一经选用将赠送100论坛币和现金奖励、并有机会获赠一套数据分析相关视频(SAS、SPSS、Java、统计理论等等)!(PS:相关文章和视频得原创!联系方式见下方,欢迎投稿!)
CDA数据分析师学习之路(33)
附赠《数据绑定(2)》干货视频
Spark RDD的转换操作举例(2)
flatMap
与map类似,区别是RDD中的元素经map处理后只能生成一个元素,而RDD中的元素经flatmap处理后可生成多个元素来构建新RDD。
val a =sc.parallelize(1 to 4, 2)
val b =a.flatMap(x => 1 to x)
b.collect
res12:Array[Int] = Array(1, 1, 2, 1, 2, 3, 1, 2, 3, 4)
对原RDD中的每个元素x产生y个元素(从1到y,y为元素x的值)
flatMapValues
flatMapValues类似于mapValues,不同的在于flatMapValues应用于元素为KV对的RDD中Value。每个一元素的Value被输入函数映射为一系列的值,然后这些值再与原RDD中的Key组成一系列新的KV对。
val a =sc.parallelize(List((1,2),(3,4),(3,6)))
val b =a.flatMapValues(x=>x.to(5))
b.collect
res3:Array[(Int, Int)] = Array((1,2), (1,3), (1,4), (1,5), (3,4), (3,5))
上述例子中原RDD中每个元素的值被转换为一个序列(从其当前值到5),比如第一个KV对(1,2), 其值2被转换为2,3,4,5。然后其再与原KV对中Key组成一系列新的KV对(1,2),(1,3),(1,4),(1,5)。
代码演示reduceByKey
reduceByKey针对KV形式的RDD。顾名思义,他以Key作为元素的分组依据,然后对具有相同Key的Value进行相应的函数计算,因此,Key相同的多个元素的值被reduce为一个值,然后与原RDD中的Key组成一个新的KV对。
val a =sc.parallelize(List((1,2),(3,4),(3,6)))
a.reduceByKey((x,y)=> x + y).collect
res7:Array[(Int, Int)] = Array((1,2), (3,10))
上述例子中,对Key相同的元素的值求和,因此Key为3的两个元素被转为了(3,10)。
代码演示filter
对于RDD中的每一个元素,使用指定的函数进行计算,对于返回值为true的元素,筛选出来作为新RDD的元素
valrdd7=sc.makeRDD(1 to 10).filter(_%3==0)
rdd7.collect
res7:Array[(Int, Int)] = Array(3,6,9)
以上就是Spark RDD中比较常见的几个转换操作。Spark中的转换操作是用户基于已有RDD创建新的RDD的一种重要方式。
感谢董轶群老师提供视频资料!
附赠《数据绑定(2)》干货视频
【CDA数据分析师学习之路】数据绑定(2)
感谢辛立伟老师提供视频资料!
***************************************************************************
投稿流程:投稿前请加我QQ联系我,或者直接将文章或视频发送到我的邮箱,但一定要备注好您的姓名、电话、邮箱,以方便我联系您们赠送现金和视频教程的事宜!欢迎投稿!
投稿联系方式:
小段老师QQ:2881989713
邮箱:duanliangbin@pinggu.org
***************************************************************************
相关链接:
CDA数据分析师就业班第四期4月10号开课啦!https://bbs.pinggu.org/thread-4160404-1-1.html
CDA大数据分析师就业班第二期4月17号开课啦!https://bbs.pinggu.org/thread-4160397-1-1.html
上一篇:
CDA数据分析师学习之路(32)https://bbs.pinggu.org/thread-4504918-1-1.html
下一篇:
CDA数据分析师学习之路(34)https://bbs.pinggu.org/thread-4510139-1-1.html