1.reduce
函数签名 def reduce(f: (T, T) => T): T �
2.collect
将不同分区的数据按照分区顺序采集到Driver端内存中,形成数组
3.count
返回RDD中元素个数
4.first()
返回RDD第一个元素
5.take()
获取 n个数据
6.takeOrdered()
调用此方法会先排序,再取n个元素
7.aggregate()
val rdd: RDD[Int] = sc.makeRDD(List(1,2,3,4),2)
val res: Int = rdd.aggregate(10)(_ + _, _ + _)
println(res)
🤔 思考:为什么会等于40而不是30?
在aggregate中初始值10不仅仅会参加分内计算 还参与分区间计算
计算过程:
分区0 10+1+2 => 13 合并: 10+13+17 =40
分区1 10+3+4 => 17
8 fold
当分区内和分区间的计算方式相同时
9.countByKey()
针对K-V数据源:来自对Key的统计
9.countByValue()
针对Value数据源:来自对Value的统计
10.saveAsTextFile()
11.foreach()
rdd.collect().foreach(println)
rdd.foreach(println)