火花的转换和行动算子简介

  

变换算子

  

地图(函数)

  

返回一个新的分布式数据集,由每个原元素经过func函数处理后的新元素组成

  

过滤器(函数)

  

返回一个新的数据集,由经过func函数处理后返回值为true的原元素组成

  

flatMap(函数)

  

类似于地图,但是每一个输入元素,会被映射为0个或多个输出元素,(因此,func函数的返回值是一个seq,而不是单一元素)

  

mapPartitions(函数)

  

类似于地图,对抽样的每个分区起作用,在类型为T的抽样上运行时,函数的函数类型必须是迭代器[T]=在迭代器(U)

  

样本(withReplacement,分数,种子)

  

根据给定的随机种子种子,随机抽样出数量为分数的数据

  

管(命令,[envVars])

  

通过管道的方式对抽样的每个分区使用壳命令进行操作,返回对应的结果

  

联盟(otherDataSet)

  

返回一个新的数据集,由原数据集合参数联合而成

  

十字路口(otherDataset)

  

求两个抽样的交集

  

不同([numtasks])

  

返回一个包含源数据集中所有不重复元素的我新数据集

  

groupByKey ([numtasks])

  

在一个由(K、v)对组成的数据集上调用,返回一个(K, Seq [v])对组成的数据集。默认情况下,输出结果的并行度依赖于父抽样的分区数目,如果想要对关键进行聚合的话,使用reduceByKey或者combineByKey会有更好的性能

  

reduceByKey (func [numTasks])

  

在一个(K、V)对的数据集上使用,返回一个(K、V)对的数据集,关键相同的值,都被使用指定的减少函数聚合到一起,减少任务的个数是可以通过第二个可选参数来配置的

  

sortByKey((提升),[numTasks])

  

在类型为(K、V)的数据集上调用,返回以K为键进行排序的(K、V)对数据集,升序或者降序有布尔型的提升参数决定

  

加入(otherDataset [numTasks])

  

在类型为(K、V)和(K, W)类型的数据集上调用,返回一个(K, V, W)对,每个键中的所有元素都在一起的数据集

  

cogroup (otherDataset [numTasks])

  

在类型为(K、V)和(K, W)类型的数据集上调用,返回一个数据集,组成元素为(K, Iterable [V], Iterable [W])元组

  笛卡尔(otherDataset)

  

笛卡尔积,但在数据集T和U上调用时,返回一个(T, U)对的数据集,所有元素交互进行笛卡尔积

  

合并(numPartitions)

  

对抽样中的分区减少指定的数目,通常在过滤完一个大的数据集之后进行此操作

  

重新分区(numpartitions)

  

将抽样中所有记录平均划分到numparitions个分区中

  <人力资源/>   

操作算子

  

减少(函数)

  

通过函数func聚集数据集中的所有元素,这个函数必须是关联性的,确保可以被正确的并发执行

  

收集()

  

在司机的程序中,以数组的形式,返回数据集的所有元素,这通常会在使用过滤或者其它操作后,返回一个足够小的数据子集再使用

  

count ()

  

返回数据集的元素个数

  

第()

  

返回数据集的第一个元素(类似于(1))

  

带(n)

  

返回一个数组,由数据集的前n个元素组成。注意此操作目前并非并行执行的,而是司机程序所在机器

  

takeSample (num withReplacement,种子)

  

返回一个数组,在数据集中随机采样num个元素组成,可以选择是否用随机数替换不足的部分,种子用于指定的随机数生成器种子

  

saveAsTextFile(路径)

  

将数据集的元素,以文本文件的形式保存到本地文件系统hdfs或者任何其他Hadoop支持的文件系统,火花将会调用每个元素的toString方法,并将它转换为文件中的一行文本

  

takeOrderd (n,[点])

  

排序后的限制(n)

  

saveAsSequenceFile(路径)

  

将数据集的元素,以sequencefile的格式保存到指定的目录下,本地系统,hdfs或者任何其他hadoop支持的文件系统,抽样的元素必须由键值对组成。并都实现了hadoop的可写的接口或隐式可以转换为可写的

  

saveAsObjectFile(路径)

  

使用Java的序列化方法保存到本地文件,可以被sparkContext.objectFile()加载
countByKey ()
对(K、V)类型的抽样有效,返回一个(K, Int)对的地图,表示每一个可以对应的元素个数

  

foreach(函数)

  

在数据集的每一个元素上,运行函数函数,t通常用于更新一个累加器变量,或者和外部存储系统做交互

火花的转换和行动算子简介