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()