美文网首页
转换算子glom()

转换算子glom()

作者: yayooo | 来源:发表于2019-07-30 20:07 被阅读0次

作用:将每一个分区形成一个数组,形成新的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

相关文章

网友评论

      本文标题:转换算子glom()

      本文链接:https://www.haomeiwen.com/subject/npsgrctx.html