一、Spark缓存类型
Spark缓存策略类是StorageLevel,其有如下几个变量
StorageLevel有如下几个对缓存策略的定义
二、Spark算子
下图是Spark算子列表
三、Spark 算子应用(统计文件单词数量)
3.1、给node1服务器上传一个文件,待Spark统计其中单词数,这里我使用的文件是/home/zookeeper.out
3.2、启动Spark Local模式
前往node1服务器,执行如下命令
cd /home/spark-1.3.1-bin-hadoop2.4/
./bin/spark-shell --master local
出现如下回显表示启动成功,这样我们就可以在下面scala控制台编写spark程序了。
3.3 控制台编写Spark程序
读文件:
val lines = sc.textFile("file:///home/zookeeper.out");
将每一行按空格分割为多个单词:
val words = lines.flatMap { line => line.split(" ") }
将单词作为key,value默认设为1,为计数做准备
val pairs = words.map { word => (word, 1) }
将单词分组累加
val wordcounts = pairs.reduceByKey { _ + _ }
输出结果至本地
wordcounts.saveAsTextFile("file:///home/zookeeper.out.wordcount")
查看输出结果
cat /home/zookeeper.out.wordcount/part-00000
将单词数由小到大排列
先删除/home/zookeeper.out.wordcount目录,再执行下方scala脚本
wordcounts.map(x => (x._2,x._1)).sortByKey().saveAsTextFile("file:///home/zookeeper.out.wordcount")
查看输出结果
cat /home/zookeeper.out.wordcount/part-00000
来源:oschina
链接:https://my.oschina.net/u/4327212/blog/3228773