spark mapPartition

mapPartition 是一个transformation 算子,主要针对需要建立连接的程序,比如数据写入数据库。

 val kzc=spark.sparkContext.parallelize(List(("hive",8),("apache",8),("hive",30),("hadoop",18)),2)
    val bd=spark.sparkContext.parallelize(List(("hive",8),("test",2),("spark",20)),1)
    val result=bd.union(kzc)
    println(result.partitions.size)
    println("*******************")
    val result2=result.mapPartitions(elements=>{
      val result=new  scala.collection.mutable.ListBuffer[(String,Int)]()
     while(elements.hasNext){
      val a=elements.next()
       result.append(a)
     }
      result.iterator
    })
      result2.collect().foreach(println(_))
原文地址:https://www.cnblogs.com/students/p/14260949.html