大数据(七十一)Spark【Spark内核_缓存策略】

耗尽温柔 提交于 2020-04-11 07:34:19

一、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

 

 

 

 

 

 

 

发布了149 篇原创文章 · 获赞 55 · 访问量 12万+
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!