说明
glom算子将RDD分区中的元素转换为数组,并返回到新的RDD中。分区内的元素和元素的类型并不发生改变。
函数签名
代码实现
val conf: SparkConf = new SparkConf().setAppName(this.getClass.getName).setMaster("local[*]")
val sc = new SparkContext(conf)
val rdd: RDD[Int] = sc.makeRDD(List(1, 2, 3, 4, 5, 6), 3)
val glomRDD: RDD[Array[Int]] = rdd.glom()
// 打印每个分区的数据
glomRDD.mapPartitionsWithIndex {
(index, datas) => {
println(index + ":" + datas.next().mkString(","))
datas
}
}.collect()
sc.stop()