spark 教程四 spark的 Action操作

时间:2021-12-11 20:49:33

1.collect()

在驱动程序中,以数组的形式,返回数据集的所有元素

在hdfs//datas/motto 文件中存入文本 “家道穷必乘, 比受之以暌, 暌者, 乘也, 乘必有难, 必受之以蹇, 蹇者难也。” 加载到spark 驱动器里 然后collect ,发现返回的是一个数组

spark 教程四 spark的 Action操作

 

2.count()

返回数据集的元素的个数

接着上面的例子做一个测试,用count 返回

 

spark 教程四 spark的 Action操作

 

3.first()

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

spark 教程四 spark的 Action操作

 

4.reduce(func)

通过func 函数接收两个参数返回一个参数,聚集数据中的所有元素

spark 教程四 spark的 Action操作

 5.saveAsTextFile(path)

将数据集的元素,以textfile的形式,保存在本地文件系统,HDFS或者任何的其他hadoo支持的文件系统。对弈每个元素,spark将会调用toString方法,将它转换为文件中的文本行。

 

6.saveAsSequenceFile(path)

将数据集中的元素,以Hadoop sequencefile的格式,保存到指定的目录下,本地系统HDFS或者其他hadoop文件系统,这个只限于Key-Value格式,实现了hadoop 的Writable接口,或者隐式的可以转换为writable的RDD。(Spark包括了基本类型的转换,例如,Int,Double,String 等)

7.saveAsObjectFile(path)

将数据集元素写入java序列化的可以被SparkContext.objectFile()加载的简单格式中

8.take(n)

返回一个有数据集的前n个元素组成的数组。注意这个操作母线比鞥费运行执行,二十由驱动程序计算所有的元素

9.countByKey()

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

10.foreach(func)

在数据集的每一个元素上,运行函数func进行更新,这通常用于边缘效果,列入更新一个累加器,或者和外部存储系统进行交互