您的位置:首页 > 其它

Spark RDD的动作

2015-10-26 14:56 302 查看
Action:对数据集计算后返回一个数值value给驱动程序

RDD支持的动作如下:

1、reduce(func)
:通过函数func(接受两个参数,返回一个参数)聚集数据集中的所有元素。这个功能必须可交换且可关联的,从而可以正确地并行执行。

2、collect()
:在驱动程序中,以数组的形式返回数据集的所有元素。通常在使用filter或者其他操作返回一个足够小的数据子集后再使用会比较有用。

3、count()
:返回数据集的元素个数。

4、first()
:返回数据集的第一个元素(类似于take(1))

5、take(n)
:返回一个由数据集的前n个元素组成的数组 (这个操作目前并非并行执行,而是由驱动程序计算所有的元素)

6、takeSample(withReplacement,num,seed) : 返回一个数组,该数组由从数据集中随机采样的num个元素组成,可以选择是否随机数替换不足的部分,seed用于指定随机数生成种子

7、saveAsTextFile(path)
:将数据集的元素以textfile的形式保存到本地文件系统--HDFS或者其他任何hadoop支持的文件系统。对于每个元素,spark将会调用toString方法,将它转换为文件中的文本行

8、saveAsSequenceFile(path):将数据集的元素以hadoop sequencefile的格式保存到指定的目录下,可以是本地系统、HDFS或者任何其他Hadoop支持的文件系统。这个只限于有key-value对组成,并实现了hadoop的writable接口,或者可以隐式地转换为Writable的RDD(Spark保存了基本类型的转换,例如Int,Double,String等)。

9、countByKey()
: 对(K,V)类型的RDD有效,返回一个(K,Int)对的map,表示每一个key对应的元素个数

10、foreach(func)
: 在数据集的每一个元素上,运行函数func进行更新。通常用于边缘效果,例如更细一个累加器,或者和外部存储系统进行交互,例如Hbase。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: