RDDs基本操作之Transformations培训教程文件.pptVIP

RDDs基本操作之Transformations培训教程文件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RDDs基本操作之Transformations培训教程文件

Transformations -by 球哥 大数据学习网介绍 我们的网址是:bigdatastudy.cn 我们提供专业的大数据学习视频,包括Hadoop,Spark,Storm,Mahout,机器学习等。 我们定价合理,让每个人都学得起大数据。 友情提示 本系列课程主要由Learning.Spark这本书整理而来。 本系列课程主要目的,帮助想要学习Spark的同学入门。 本系列课程中的ppt可自由传播,无需任何授权,但不要用于商业用途哦。 本系列课程中的视频不要自由传播哦,如果同学们觉得课程价格不合理,欢迎在下面的群中反馈,我们会考虑调整价格的。 Spark学习交流群:368770186,371896553 Transformations Transformations介绍 逐元素transformations 集合运算 Transformations介绍 Transformations(转换): 从之前的RDD构建一个新的RDD,像map() 和 filter()。 Transformations介绍 Transformations的特点: Transformations返回一个崭新的RDD, filter() 操作返回一个指针,指向一个崭新的RDD,原RDD不受影响,能够在后面重复利用。 逐元素transformations 许多的transformations是逐元素的,也就是每次转变一个元素。 两个最常用的transformations:map() and filter() map() transformation,接收一个函数,把这个函数应用到RDD的每一个元素,并返一个函数作用后的新的RDD。 filter() transformation,接收一个函数,返回只包含满足filter()函数的元素的新RDD。 输入RDD与输出RDD可以是不同的类型,例如input RDD[String] ,output RDD[Double] 逐元素transformations map() 例子- 对RDD中元素求平方 val input = sc.parallelize(List(1, 2, 3, 4)) val result = input.map(x = x * x) println(result.collect().mkString(,)) 逐元素transformations flatMap() 对每个输入元素,输出多个输出元素。 flat压扁的意思,将RDD中元素压扁后返回一个新的RDD。 例子- flatMap() ,把一行字分割成多个元素 val lines = sc.parallelize(List(hello world, hi)) val words = lines.flatMap(line = line.split( )) words.first() // returns hello 逐元素transformations flatMap() 集合运算 RDDs支持数学集合的计算,例如并集,交集计算。注意:进行计算的RDDs应该是相同类型。 money-monkey 集合运算 distinct()是很耗时的操作,因为它需要通过网络,shuffle所有的数据,以保证元素不重复。 一般情况下,我们不用distinct()。 union(other) 会包含重复的元素。 intersection(other)求交集。耗时操作,因为需要shuffle subtract(other)第一个RDD中存在,而不存在与第二个RDD的元素。需要shuffle。使用场景,机器学习中,移除训练集。 集合运算 cartesian(other) 非常耗时。 使用场景:用户相似性的时候 RDD的transformations 基本的RDD transformations: RDD 包含 {1, 2, 3, 3} RDD的transformations 两个RDD 的transformations: 一个RDD包含 {1, 2, 3},另一个RDD包含 {3, 4, 5} 小结 逐元素transformations 集合运算 * 2015 函数名 功能 例子 结果 map() 对每个元素应用函数 rdd.map(x = x + 1) {2, 3, 4, 4} flatMap() 压扁,常用来抽取单词 rdd.flatMap(x = x.to(3)) {1, 2, 3, 2,3, 3, 3} filter() 过滤 rdd.filter(x = x != 1) {2, 3, 3} distinct() 去重 rdd.distinct() {1, 2, 3} sample(withReplacement,fraction,

文档评论(0)

taotao0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档