一、Rdd行动算子
1、【collect】将rdd转化为数组或集合的形式并展示所有数据;
2、【count】返回rdd中存储元素的个数;
3、【top】取出存储在rdd中的元素,根据传入的数值,取出对应的个数。自带排序,默认是降序,从大到小;
4、【take】取出存储在rdd中对应数量的值,无排序;
二、实例
package com.cn.rddOperator
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Action01 {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("Action01").setMaster("local[1]")
val sc = new SparkContext(conf)
sc.setLogLevel("WARN")
val rdd1: RDD[Int] =sc.parallelize(List(1,2,3,4))
/**
* collect 将rdd转化为数组或集合的形式并展示所有数据
*/
println(rdd1.collect().toList)//List(1, 2, 3, 4)
/**
* count() 返回rdd中存储元素的个数
*/
println(rdd1.count())//4
/**
* top 取出存储在rdd中的元素,根据传入的数值,取出对应的个数;
* 自带排序,默认是降序,从大到小
*/
val rdd2: Array[Int] = rdd1.top(3)
//Array在scala中是不可变数组,是不能打印出Array中存储数据的结果;
println(rdd2.toBuffer)//ArrayBuffer(4, 3, 2)
/**
* take 取出存储在rdd中对应数量的值,无排序
*/
val rdd3: Array[Int] = rdd1.take(3)
println(rdd3.toBuffer)//ArrayBuffer(1, 2, 3)
}
}