Spark Action算子简介

Spark Action算子简介

collect() / collectAsMap()

stats / count / mean / stdev / max / min

// 返回统计信息。仅能作用 RDD[Double] 类型上调用

val rdd1 = sc.range(1, 101)

rdd1.stats

val rdd2 = sc.range(1, 101)

// 不能调用

rdd1.zip(rdd2).stats

// count在各种类型的RDD上,均能调用

rdd1.zip(rdd2).count

reduce(func) / fold(func) / aggregate(func)

scala> rdd1.reduce(_+_)

res39: Long = 5050

scala> rdd1.fold(1)(_+_)

res41: Long = 5063

## 定义初值 1,每个分区局部汇总+初值,全局汇总+初值 加了13次

scala> rdd1.getNumPartitions

res42: Int = 12

scala> rdd1.aggregate(1l)(_+_,_+_)

res44: Long = 5063

first():Return the first element in this RDD

take(n):Take the first num elements of the RDD

top(n):按照默认(降序)或者指定的排序规则,返回前num个元素。

scala> rdd1.first

res46: Long = 1

scala> rdd1.take(5)

res47: Array[Long] = Array(1, 2, 3, 4, 5)

scala> rdd1.top(5)

res48: Array[Long] = Array(100, 99, 98, 97, 96)

takeSample(withReplacement, num, [seed]):返回采样的数据

scala> rdd1.takeSample(true, 4)

res50: Array[Long] = Array(86, 86, 56, 99)

scala> rdd1.takeSample(false, 4)

res51: Array[Long] = Array(91, 34, 18, 52)

foreach(func) / foreachPartition(func):与map、mapPartitions类似,区别是 foreach 是 Action

scala> rdd1.foreach(x => println(x))

12

13

....

saveAsTextFile(path) / saveAsSequenceFile(path) / saveAsObjectFile(path)

scala> rdd1.saveAsTextFile("/aa/x.txt")

← 上一篇: dw手表怎么样分辨真假?看这四个地方很重要
下一篇: 《火影忍者:究极忍者风暴4》评测:火之意志,永不完结 →

相关推荐