RDD应用API---flatMap、map、reduceByKey、collect、foreach
2016-11-23 22:18
561 查看
图片来源:梁洪亮老师的课件
代码来源:Spark MLlib机器学习实践 王晓华
运行结果:
运行结果:
运行结果:
运行结果:
代码来源:Spark MLlib机器学习实践 王晓华
import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]) { //SparkContext 的初始化需要一个 SparkConf 对象, SparkConf 包含了Spark集群配置的各种参数(比如主节点的URL) val sc = new SparkContext("local", "testRDD") //Spark 程序的编写都是从 SparkContext 开始的。 var arr = sc.parallelize(Array(1, 2, 3, 4, 5)) //创建数据集 var result = arr.flatMap(x => List(x+1)).collect() //将整个数组转化为列表,列表中的内容为x+1 result.foreach(println) } }
运行结果:
import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]) { //SparkContext 的初始化需要一个 SparkConf 对象, SparkConf 包含了Spark集群配置的各种参数(比如主节点的URL) val sc = new SparkContext("local", "testRDD") //Spark 程序的编写都是从 SparkContext 开始的。 var arr = sc.parallelize(Array(1, 2, 3, 4, 5)) //创建数据集 var result = arr.map(x => List(x+1)).collect() //将每个元素转化为列表,列表中的内容为x+1 result.foreach(println) } }
运行结果:
import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]) { //SparkContext 的初始化需要一个 SparkConf 对象, SparkConf 包含了Spark集群配置的各种参数(比如主节点的URL) val sc = new SparkContext("local", "testRDD") //Spark 程序的编写都是从 SparkContext 开始的。 var arr = sc.parallelize(Array(1, 1, 2, 2, 3)) //创建数据集 var result = arr.map((_, 1)).collect() //将元素转化为列表,列表中的内容为x+1 result.foreach(println) } }
import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]) { //SparkContext 的初始化需要一个 SparkConf 对象, SparkConf 包含了Spark集群配置的各种参数(比如主节点的URL) val sc = new SparkContext("local", "testRDD") //Spark 程序的编写都是从 SparkContext 开始的。 var arr = sc.parallelize(Array(1, 1, 2, 2, 3)) //创建数据集 var result = arr.map((_, 1)).reduceByKey(_+_).collect() //将元素转化为列表,列表中的内容为x+1 result.foreach(println) } }
运行结果:
import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]) { //SparkContext 的初始化需要一个 SparkConf 对象, SparkConf 包含了Spark集群配置的各种参数(比如主节点的URL) val conf = new SparkConf() .setMaster("local") //启动本地化计算 .setAppName("testRDD") //设置本程序名称 val sc = new SparkContext(conf) //Spark 程序的编写都是从 SparkContext 开始的。 //以上语句等价于 val sc = new SparkContext("local", "testRDD"); val data = sc.textFile("c://wc.txt") //读取文件 data.flatMap(_.split(" ")) //下划线是占位符,flatMap是对行操作的方法,这里表示对读入的每个数据按空格进行分割 .map((_, 1)) //将每一项转化为key-value对,数据为key,1为value .reduceByKey(_+_) //将具有相同key的项的value相加,合并成一个key-value对 .collect() //将分布式的RDD返回为一个单机的Scala Array,在这个数组上运用scala的函数式操作 //通过函数操作,将结果返回到Driver程序所在的节点,以数组形式存储 .foreach(println) //对每个元素println,打印 } }
运行结果:
相关文章推荐
- Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)
- Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)
- Spark RDD/Core 编程 API入门系列之map、filter、textFile、cache、对Job输出结果进行升和降序、union、groupByKey、join、reduce、lookup(一)
- Spark RDD/Core 编程 API入门系列之map、filter、textFile、cache、对Job输出结果进行升和降序、union、groupByKey、join、reduce、look
- spark2.x由浅入深深到底系列六之RDD api reduceByKey与foldByKey对比
- spark中textFile、groupByKey、collect、flatMap、map结合小案例(案例虽小,功能齐全)
- Spark API 之 reduce、reduceByKey 、 mapvalues
- spark 的一些常用函数 filter,map,flatMap,lookup ,reduce,groupByKey
- Spark RDD API详解(一) Map和Reduce
- 大数据IMF传奇行动绝密课程第17课:RDD案例(join、cogroup、reduceByKey、groupByKey等)
- Spark RDD中Transformation的combineByKey、reduceByKey,join详解
- Spark RDD API详解(一) Map和Reduce
- Spark wordcount 编译错误 -- reduceByKey is not a member of RDD
- Spark RDD API详解Map和Reduce
- Spark RDD API详解(一) Map和Reduce (zhuan)
- Spark RDD API详解(一) Map和Reduce
- RDD Transformation——reduceByKey
- Spark RDD API详解(一) Map和Reduce
- RDD无reduceByKey方法
- Spark RDD API详解(一) Map和Reduce