函数说明:聚集RDD中所有元素,先聚合分区内数据,然后聚合分区间数据
val reduceResult: Int = rdd.reduce(_+_)函数说明:以数组Array的形式返回数据集的所有元素
rdd.collect().foreach(println)返回RDD元素的个数
val countResult: Long = rdd.count()函数说明:返回RDD中的第一个元素
函数说明:返回一个由RDD的前n个元素组成的数组
函数说明:返回该RDD排序后的前n个元素组成的数组
函数说明:分区的数据通过初始值和分区内的数据进行聚合,然后再和初始值进行分区间的数据聚合
object Test { def main(args: Array[String]): Unit = { val sparkConf: SparkConf = new SparkConf().setMaster("local").setAppName("zk") val sparkContext = new SparkContext(sparkConf) val rdd: RDD[Int] = sparkContext.makeRDD(List(11, 2, 3, 4,6,1),2) val ans: Int = rdd.aggregate(0)(Math.max(_, _), _ + _) println(ans) } }函数说明:aggregate的简化操作
val foldResult: Int = rdd.fold(0)(_+_)函数说明:统计每种key的个数
object Test { def main(args: Array[String]): Unit = { val sparkConf: SparkConf = new SparkConf().setMaster("local").setAppName("zk") val sparkContext = new SparkContext(sparkConf) val rdd: RDD[(Int, String)] = sparkContext.makeRDD(List((1, "a"), (1, "a"), (1, "a"), (2, "b"), (3, "c"), (3, "c"))) val ans: collection.Map[Int, Long] = rdd.countByKey() for ((a,b)<-ans){ println(a + ":" +b ) } sparkContext.stop() } }函数说明:分布式遍历RDD中的每一个元素,调用指定函数