Spark-shell初体验:WordCount

安装spark

运行spark-shell

代码

val rdd1=sc.parallelize(List("hello","spark")) // 生成一个rdd
val rdd2=sc.parallelize(List("bye","spark"))// 第二个rdd
// 映射集合为(单词,1)然后并集,然后按key做归约,最后写入文件
rdd1.map(x=>(x,1)).union(rdd2.map((_,1))).reduceByKey(_+_).saveAsTextFile("file:/Users/zhengwei/Desktop/output")

结果

➜  Desktop cd output 
➜  output ls
_SUCCESS   part-00001 part-00003 part-00005 part-00007
part-00000 part-00002 part-00004 part-00006
➜  output cat *
(hello,1)
(spark,2)
(bye,1)

读取文件

如果读文件的话,rdd的初始化来自读取文件再把词分出来

val rdd3=sc.textFile("/Users/zhengwei/Desktop/input/1.txt").flatMap(_ split "\\s")
val rdd4=sc.textFile("/Users/zhengwei/Desktop/input/2.txt").flatMap(_ split "\\s")
rdd3.map((_,1)).union(rdd4.map((_,1))).reduceByKey(_+_).collect

输出:res36: Array[(String, Int)] = Array((spark,2), (hello,1), (bye,1))

猜你喜欢

转载自blog.csdn.net/zhengwei223/article/details/78976611
今日推荐