Actions (85) 查找
foreach对RDD中的每个元素都应用f函数操作,不返回RDD和Array,而是返回Uint。

saveAsTextFile将数据输出,存储到HDFS的指定目录。

saveAsObjectFile将分区中的每10个元素组成一个Array,然后将这个Array序列化,映射为(Null,BytesWritable(Y))的元素,写入HDFS为SequenceFile的格式。

collect将分布式的RDD返回为一个单机的Array数组,将结果返回到Driver程序所在的节点。

collectAsMap对(K,V)型的RDD数据返回一个单机HashMap。 对于重复K的RDD元素,后面的元素覆盖前面的元素,以HashMap形式存储。

count返回整个RDD的元素个数。

countByKey返回每个key的出现个数,以HashMap形式存储。

countByValue返回每个value出现个数,以HashMap形式存储。

take返回一个包含数据集前n个元素的数组(从0下标到n-1下标的元素),不排序。

takeSample对一个数据集进行随机抽样,返回一个包含num个随机抽样元素的数组,withReplacement表示是否有放回抽样,参数seed指定生成随机数的种子。

reduce相当于对RDD中的元素进行reduceLeft函数的操作,返回一个具体的值,不是RDD。 reduce将RDD中元素两两传递给输入函数,同时产生一个新值,新值与RDD中下一个元素再被传递给输入函数,直到最后只有一个值为止。

aggregate先对每个分区内的所有元素进行aggregate操作,再对分区间的结果进行fold操作。 aggreagate与fold和reduce的不同之处在于,aggregate相当于采用归并的方式进行数据聚集,这种聚集是并行化的。 而在fold和reduce函数的运算过程中,每个分区中需要进行串行处理,每个分区串行计算完结果,结果再按之前的方式进行聚集,并返回最终聚集结果。

zip用于将两个RDD组合成Key-Value形式的RDD,这里默认两个RDD的partition数量以及元素数量都相同,否则会抛出异常。

zipWithIndex将RDD中的元素和这个元素在RDD中的ID(索引号)组合成键/值对。

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

返回RDD中前n个元素,并按默认顺序排序(升序)或者按自定义比较器顺序排序。

fold就是先对rdd分区的每一个分区进行使用oper函数,在调用oper函数过程中将zeroValue参与计算,最后在对每一个分区的结果调用oper函数,所以此处zeroValue将再次参与计算,从迭代器取的第一个元素是zeroValue。

saveAsSequenceFile将RDD元素以Hadoop SequenceFile的形式写入本地文件系统或者HDFS等。