2020年寒假假期总结0113

  实验三spark和hadoop的安装

  hadoop的安装在之前的随笔中已经介绍过,此处传送门:https://www.cnblogs.com/heiyang/p/11293969.html

接着介绍,spark的安装,不是很难,唯一需要注意的是不同的hadoop版本都有对应的spark版本,下载的时候时候请注意选择。

  HDFS的常用操作:以前的随笔传送门:https://www.cnblogs.com/heiyang/p/11411343.html

  Spark读取文件系统的数据:

(1)   在 spark-shell 中读取 Linux 系统本地文件“/home/hadoop/test.txt”,然后统计出文件的行数;

sc.textFile("file:///home/hadoop/input/newtest.txt").flatMap(line => line.split(" ")).map(word => (word,1)) .reduceByKey(_ + _).collect

启动spark shell:

./spark-shell --master local[4] //表示使用4个核心

读入需要处理的单词文件

val file = sc.textFile("file:///home/hadoop/input/newtest.txt")

将文件中的每一行单词按照分隔符(这里是空格)分隔

val a = file.flatMap(line => line.split(" "))

给每个单词计数为1

val b = a.map(word => (word,1))

统计相同单词的数量

val c = b.reduceByKey(_ + _)

2020年寒假假期总结0113

   (2)   在 spark-shell 中读取 HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在,请先创建),然后,统计出文件的行数;

如果是在hdfs上操作文件的话,只需要关闭spark,然后启动hadoop,再重新启动spark就可以了,代码基本上没有变化

var file=sc.textFile("/input/newtest.txt")
var count = file.flatMap(line=>line.split(" ")).map(word=>word,1)).reduceByKey((a,b)=>a+b)
count.collect();

相关推荐