spark transformation和action算子

原创 2016年08月30日 00:35:45

spark transformation和action的算子
map(func)
返回一个新的分布式数据集,由每个原元素经过func函数处理后的新元素组成
filter(func)
返回一个新的数据集,由经过func函数处理后返回值为true的原元素组成
flatMap(func)
类似于map,但是每一个输入元素,会被映射为0个或多个输出元素,(因此,func函数的返回值是一个seq,而不是单一元素)
mapPartitions(func)
类似于map,对RDD的每个分区起作用,在类型为T的RDD上运行时,func的函数类型必须是Iterator[T]=>Iterator[U]

mapPartitionsWithIndex(func) 和mapPartitions类似,但func带有一个整数参数表上分区的索引值,在类型为T的RDD上运行时,func的函数参数类型必须是(int,Iterator[T])=>Iterator[U]
sample(withReplacement,fraction,seed)
根据给定的随机种子seed,随机抽样出数量为fraction的数据
pipe(command,[envVars])
通过管道的方式对RDD的每个分区使用shell命令进行操作,返回对应的结果
union(otherDataSet)
返回一个新的数据集,由原数据集合参数联合而成
intersection(otherDataset)
求两个RDD的交集
distinct([numtasks])
返回一个包含源数据集中所有不重复元素的i新数据集
groupByKey([numtasks])
在一个由(K,v)对组成的数据集上调用,返回一个(K,Seq[V])对组成的数据集。默认情况下,输出结果的并行度依赖于父RDD的分区数目,如果想要对key进行聚合的话,使用reduceByKey或者combineByKey会有更好的性能
reduceByKey(func,[numTasks])
在一个(K,V)对的数据集上使用,返回一个(K,V)对的数据集,key相同的值,都被使用指定的reduce函数聚合到一起,reduce任务的个数是可以通过第二个可选参数来配置的
sortByKey([ascending],[numTasks])
在类型为(K,V)的数据集上调用,返回以K为键进行排序的(K,V)对数据集,升序或者降序有boolean型的ascending参数决定
join(otherDataset,[numTasks])
在类型为(K,V)和(K,W)类型的数据集上调用,返回一个(K,(V,W))对,每个key中的所有元素都在一起的数据集
cogroup(otherDataset,[numTasks])
在类型为(K,V)和(K,W)类型的数据集上调用,返回一个数据集,组成元素为(K,Iterable[V],Iterable[W]) tuples
cartesian(otherDataset)
笛卡尔积,但在数据集T和U上调用时,返回一个(T,U)对的数据集,所有元素交互进行笛卡尔积
coalesce(numPartitions)
对RDD中的分区减少指定的数目,通常在过滤完一个大的数据集之后进行此操作
repartition(numpartitions)
将RDD中所有records平均划分到numparitions个partition中

action操作
reduce(func)
通过函数func聚集数据集中的所有元素,这个函数必须是关联性的,确保可以被正确的并发执行
collect()
在driver的程序中,以数组的形式,返回数据集的所有元素,这通常会在使用filter或者其它操作后,返回一个足够小的数据子集再使用
count()
返回数据集的元素个数
first()
返回数据集的第一个元素(类似于take(1))
take(n)
返回一个数组,由数据集的前n个元素组成。注意此操作目前并非并行执行的,而是driver程序所在机器
takeSample(withReplacement,num,seed)
返回一个数组,在数据集中随机采样num个元素组成,可以选择是否用随机数替换不足的部分,seed用于指定的随机数生成器种子
saveAsTextFile(path)
将数据集的元素,以textfile的形式保存到本地文件系统hdfs或者任何其他hadoop支持的文件系统,spark将会调用每个元素的toString方法,并将它转换为文件中的一行文本
takeOrderd(n,[ordering])
排序后的limit(n)
saveAsSequenceFile(path)
将数据集的元素,以sequencefile的格式保存到指定的目录下,本地系统,hdfs或者任何其他hadoop支持的文件系统,RDD的元素必须由key-value对组成。并都实现了hadoop的writable接口或隐式可以转换为writable
saveAsObjectFile(path)
使用java的序列化方法保存到本地文件,可以被sparkContext.objectFile()加载
countByKey()
对(K,V)类型的RDD有效,返回一个(K,Int)对的map,表示每一个可以对应的元素个数
foreache(func)
在数据集的每一个元素上,运行函数func,t通常用于更新一个累加器变量,或者和外部存储系统做交互

版权声明:本文为博主原创文章,未经博主允许不得转载。

Spark中的各种action算子操作(java版)

在我看来,Spark编程中的action算子的作用就像一个触发器,用来触发之前的transformation算子。transformation操作具有懒加载的特性,你定义完操作之后并不会立即加载,只有...
  • kongshuchen
  • kongshuchen
  • 2016年05月08日 09:12
  • 3915

Spark中的各种action算子操作(scala版)

这里直接贴代码了,action的介绍都在java那里。 package cn.spark.study.coreimport org.apache.spark.SparkConf import or...
  • kongshuchen
  • kongshuchen
  • 2016年05月08日 09:15
  • 731

spark transformation和action算子

spark transformation和action的算子 map(func) 返回一个新的分布式数据集,由每个原元素经过func函数处理后的新元素组成 filter(func) 返回一个新...
  • paicMis
  • paicMis
  • 2016年08月30日 00:35
  • 1901

Spark Transformation和Action算子速查表

Transformation算子 Transformation算子 作用 map(func) 返回一个新的分布式数据集,其中每个元素都是由源RDD中每一个元素经过func函数转换得到的 ...
  • u010110208
  • u010110208
  • 2016年08月20日 16:31
  • 796

Spark的Action算子的简单例子

package com.spark.Appimport org.apache.spark.{SparkContext, SparkConf}/** * Created by Administrat...
  • u010110208
  • u010110208
  • 2016年08月14日 11:21
  • 528

Spark算子:RDD行动Action操作(1)–first、count、reduce、collect

关键字:Spark算子、Spark RDD行动Action、first、count、reduce、collect first def first(): T first返回RDD中的第...
  • wisgood
  • wisgood
  • 2016年09月26日 14:01
  • 1227

[1.5] RDD经典Action类算子实战解读

场景常用action类算子的用法举例分析spark中常用的action类算子有: saveAsTextFile、reduce、count、 collect、foreach 以及 take 等,这里以...
  • PENGYUCHENG32109
  • PENGYUCHENG32109
  • 2016年10月09日 18:57
  • 755

【Spark】RDD操作详解1——Transformation和Actions概况

Spark算子的作用下图描述了Spark在运行转换中通过算子对RDD进行转换。 算子是RDD中定义的函数,可以对RDD中的数据进行转换和操作。 输入:在Spark程序运行中,数据从外部数据空间(如分布...
  • JasonDing1354
  • JasonDing1354
  • 2015年07月11日 22:46
  • 5969

Spark总结(二)——RDD的Transformation操作

1、创建RDD的两种方式: (1)、从HDFS读入数据产生RDD; (2)、有其他已存在的RDD转换得到新的RDD;scala> val textFile = sc.textFile("hdfs:...
  • zzh118
  • zzh118
  • 2016年07月22日 20:23
  • 1893

Spark RDD Transformation 详解---Spark学习笔记7

这几天学习了Spark RDD transformation 和 action ,做个笔记记录下心得,顺便分享给大家。 1. 启动spark-shell  SPARK_MASTER=local[4...
  • u014388509
  • u014388509
  • 2014年04月04日 16:09
  • 20674
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spark transformation和action算子
举报原因:
原因补充:

(最多只允许输入30个字)