spark核心6rdds基本操作之_第1页
spark核心6rdds基本操作之_第2页
spark核心6rdds基本操作之_第3页
spark核心6rdds基本操作之_第4页
spark核心6rdds基本操作之_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论