全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析师(CDA)专版
1550 1
2016-03-29

       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:28819897132881989713
邮箱: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
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-3-31 10:35:56
欢迎积极投稿,论坛币、现金、整套数据分析视频教程等你来拿哦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群