import org.apache.spark.sql.SparkSession /** * Created by LE on 2017/3/22. */ object DemoAction { def main(args: Array[String]): Unit = { val spark = SparkSession.builder.appName("DemoAction").master("local[*]").getOrCreate() val sc = spark.sparkContext // Action // foreach { val rddA = sc.parallelize(1 to 5) rddA.foreach(println) println("*" * 50) } // saveAsTextFile { val path = "d:/data/out/saveAsTextFile" val rddA = sc.parallelize(1 to 5) rddA.saveAsTextFile(path) rddA.glom.foreach(a => println(a.mkString(","))) println("*" * 50) } // saveAsObjectFile { val path = "d:/data/out/saveAsObjectFile" val rddA = sc.parallelize(1 to 5) rddA.saveAsObjectFile(path) println("*" * 50) } collect { val rddA = sc.parallelize(1 to 5) val out = rddA.collect println(out.mkString(",")) println("*" * 50) } // collectAsMap { val rddA = sc.parallelize(Array(("A1" -> 1), ("B1" -> 2), ("B1" -> 3), ("E1" -> 4))) val out = rddA.collectAsMap println(out.mkString(",")) println("*" * 50) } // reduceByKeyLocally { val rddA = sc.parallelize(Array(("A1" -> 1), ("B1" -> 2), ("B1" -> 3), ("E1" -> 4))) val out = rddA.reduceByKeyLocally(_+_) println(out.mkString(",")) println("*" * 50) } // lookup { val rddA = sc.parallelize(Array(("A1" -> 1), ("B1" -> 2), ("B1" -> 3), ("E1" -> 4))) val out = rddA.lookup("B1") println(out.mkString(",")) println("*" * 50) // A1 -> (1),B1(2,3) E1(4) } // count { val rddA = sc.parallelize(1 to 5) val out = rddA.count println(out) println("*" * 50) } // top { val rddA = sc.parallelize(1 to 5) val out = rddA.top(2)(Ordering[Int].reverse) println(out.mkString((","))) println("*" * 50) } // reduce { val rddA = sc.parallelize(1 to 5) val out = rddA.reduce(_ + _) println(out) println("*" * 50) } // fold { val rddA = sc.parallelize(1 to 5).map(_.toString) val out = rddA.fold("A")(_ + "@" + _) println(out) println("*" * 50) // A@1 // A@2 // A@3 // A@4@5 //A@A@1@A@2@A@3@A@4@5 } // aggregate { val rddA = sc.parallelize(1 to 5) val out = rddA.aggregate("A")((a, b) => a + "@" + b, (a, b) => a + "#" + b) println(out) println("*" * 50) // A@1 // A@2 // A@3 // A@4@5 // A#A@1#A@2#A@3#A@4@5 } spark.stop() }
RDD算法Action
最新推荐文章于 2023-03-31 11:34:07 发布