glom用法

Spark glom 功能:该函数将RDD中每一个分区变成一个数组,并放置在新的RDD中,数组中元素的类型与原分区中元素类型一致

    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("mapPartitionsWithIndex1")
    val sc = new SparkContext(conf)
    val dataRDD = sc.makeRDD(List(
      1,2,3,4
    ),2)
    /*
    * 内部调用MapPartitionsRDD方法,把每个partition的元素从Iterator类型转换为Array类型之后再包装到迭代器中返回
    * */
    val data: RDD[Int] = dataRDD.glom().map(_.max)
    println(data.collect().sum)
    sc.stop()

 

posted @ 2024-02-19 18:04  会飞的猪仔  阅读(5)  评论(0编辑  收藏  举报