本质上,Action通过SparkContext执行提交作业的runjob操作,触发了RDD DAG的执行。
reduce(func)
将集合中的元素通过func函数合并起来,该函数应该是可交换,结合的,这样才能应用到并行计算中。
collect()
将数据中的元素返回为一个数组,这个函数通常用在filter等其他操作后。
count()
返回数据集中元素的个数
first()
返回数据集中的第一个元素
take(n)
返回数据集中前n个元素
takeSample(withReplacement, num, [seed])
按设定的采样个数进行采样
takeOrdered(n, [ordering])
返回前N个RDD中元素的自然顺序或自定义比较器
saveAsTextFile(path)
将数据集中的元素存储起来,存在给定的目录中的本地文件系统,或任何其他的Hadoop HDFS 支持的文件系统。Spark可以调用toString将每个元素以每行的形式存在文本中
savaAsSequenceFile(path)
将数据集中的RDD以Hadoop SequenceFile的形式存在给定路径本地的文件系统,HDFS或者其他任何Hadoop支持的文件系统中。这个对读取存在Hadoop中健值对十分有用。
saveAsObjectFile(path)
使用java序列化将数据集中的元素存储为一个简单的格式,我们可以通过SparkContext.objectFile()进行读取。
countBykey()
返回具有不同健的键值对的个数
foreach(func)
对RDD中的每个元素应用func函数,不返回RDD和Arry,而是返回Uint。