楼主: 小段DM
1598 1

[CDA数据分析师学习之路] 【CDA就业班独家发布】CDA数据分析师学习之路(33) [推广有奖]

  • 0关注
  • 27粉丝

副教授

77%

还不是VIP/贵宾

-

威望
0
论坛币
-9420107 个
通用积分
8.7065
学术水平
18 点
热心指数
11 点
信用等级
16 点
经验
20059 点
帖子
1016
精华
0
在线时间
517 小时
注册时间
2015-12-12
最后登录
2017-12-19

楼主
小段DM 发表于 2016-3-29 15:08:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

       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
二维码

扫码加我 拉你入群

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

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

关键词:CDA数据分析师学习之路 CDA数据分析师 CDA数据分析 CDA就业班 数据分析师 CDA数据分析师 CDA 数据分析 大数据 就业

沙发
小段DM 发表于 2016-3-31 10:35:56
欢迎积极投稿,论坛币、现金、整套数据分析视频教程等你来拿哦!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 23:57