RDD Actions

RDD 动作列表

Action

含义

reduce(func)

使用函数func(它接受两个参数并返回一个)来聚合数据集的元素。 该函数应该是可交换和关联的,以便可以并行地正确计算它。

collect()

在驱动程序中将数据集的所有元素作为数组返回。 在过滤器或其他操作返回足够小的数据子集之后,这通常很有用。

count()

返回数据集中元素的数量。

first()

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

take(n)

返回包含数据集前n个元素的数组。

takeSample(withReplacement,num,[seed])

返回一个数组,其中包含数据集的num元素的随机样本,包含或不包含替换,可以预先指定一个随机数生成器种子。

takeOrdered(n,[ordering])

使用自然顺序或自定义比较器返回RDD的前n个元素。

saveAsTextFile(path)

将数据集的元素作为文本文件(或文本文件集)写入本地文件系统,HDFS或任何其他Hadoop支持的文件系统中的给定目录中。 Spark在每个元素上调用toString将其转换为文件中的一行文本。

saveAsSequenceFile(path)(Java and Scala)

将数据集的元素作为Hadoop SequenceFile写入本地文件系统,HDFS或任何其他Hadoop支持的文件系统的给定路径中。 这在实现Hadoop的Writable接口的键值对的RDD上可用。 在Scala中,它也可用于可隐式转换为Writable的类型(Spark包含Int,Double,String等基本类型的转换)。

saveAsObjectFile(path)(Java and Scala)

使用Java序列化以简单的格式写入数据集的元素,然后使用SparkContext.objectFile()加载该序列化。

countByKey()

仅适用于类型(K,V)的RDD。 用(K,Int)对的hashmap返回每个键的计数。

foreach(func)

在数据集的每个元素上运行函数func。 这通常是为了副作用而完成的,例如更新累加器或与外部存储系统交互。

注意:修改foreach()之外的累加器以外的变量可能会导致未定义的行为。 有关更多详细信息,请参阅了解闭包

发布了147 篇原创文章 · 获赞 24 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_36535820/article/details/103822736
rdd