作用:将每一个分区形成一个数组,形成新的RDD类型时RDD[Array[T]]
// 需求:创建一个2个分区的RDD,并将每个分区的数据放到一个数组
package com.atguigu
import org.apache.spark.rdd.RDD
import org.apache.spark.{HashPartitioner, Partitioner, SparkConf, SparkContext}
object Trans {
def main(args: Array[String]): Unit = {
val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("Spark01_Partition")
//构建spark上下文对象
val sc = new SparkContext(conf)
val rdd: RDD[Int] = sc.makeRDD(List(1,3,4,5,6),2)
val rdd1: RDD[Array[Int]] = rdd.glom()
rdd1.collect().foreach(datas => {
println("*************")
datas.foreach(println)
})
sc.stop()
}
}
*************
1
3
*************
4
5
6
// 需求:创建一个2个分区的RDD,并将每个分区的数据放到一个数组,并求每个数组中的最大值。
package com.atguigu
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Trans {
def main(args: Array[String]): Unit = {
val conf: SparkConf = new SparkConf().setAppName("Trans").setMaster("local[*]")
val sc = new SparkContext(conf)
val numRDD: RDD[Int] = sc.makeRDD(List(1,4,3,2),2)
val arrayRDD: RDD[Array[Int]] = numRDD.glom()
println(arrayRDD)
println("****")
arrayRDD.collect().foreach(datas=>{
println(datas.max)
})
}
}
3
6
网友评论