1.sc
SparkContext,Spark程序的入口点,封装了整个spark运行环境的信息。
2.进入spark-shell
$>spark-shell
$scala>sc
API:
SparkContext
RDD:
resilient distributed dataset,弹性分布式数据集。等价于集合。
spark实现Wordcount
//加载文本文件,以换行符方式切割文本。Array(hello world2,hello world2,...)
val rdd1 = sc.textFile("/home/ubuntu/test.txt");
val rdd2 = rdd1.flatMap(line=>line.split(" "));
val rdd3 = rdd2.map(word=>(word,1));
val rdd4 = rdd3.reduceByKey(_+_);
rdd4.collect
一行代码:
scala> sc.textFile("/home/ubuntu/test.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
结果:
res2: Array[(String, Int)] = Array((world2,2), (world4,1), (hello,4), (world3,1))
过滤包含“wor”的单词
scala> sc.textFile("/home/ubuntu/test.txt").flatMap(_.split(" ")).filter(_.contains("wor")).map((_,1)).reduceByKey(_+_).collect
res3: Array[(String, Int)] = Array((world2,2), (world4,1), (world3,1))
windows下:
idea编写Scala程序,引入spark类库,完成wordcount
1.添加Scala框架支持,没有则安装Scala插件(2.11.8)