美文网首页
转换算子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