RDD编程初级实践

4 篇文章 0 订阅
3 篇文章 1 订阅

可使用百度网盘获取Data01.txt数据文件
https://pan.baidu.com/s/1jBY8f9OXThmtfs0s5mV0ow&shfl=sharepset

注:代码还是自个敲一哈为好(。•ᴗ-)_,某些命令需要自行根据实际调整。仅给出部分命令,俺想耍去了

1.请根据给定的实验数据Data01.txt,在spark-shell中通过编程来计算以下内容

首先使用xftp将Data01.txt(某大学计算机系的成绩数据集)上传至master节点的/opt目录下在这里插入图片描述
所有节点使用hadoop用户登录

su hadoop	//切换hadoop用户

在这里插入图片描述
在master节点上分别启动hadoop集群和spark集群

/opt/hadoop/sbin/start-all.sh	//启动hadoop集群

/opt/spark/sbin/start-all.sh	//启动spark集群

在这里插入图片描述
在master节点上启动spark-shell终端

/opt/spark/bin/spark-shell --master yarn

在这里插入图片描述

另开一个master终端,将Data01.txt数据文件传输到各个子节点上的/opt目录下

scp /opt/Data01.txt slave1:/opt/

scp /opt/Data01.txt slave2:/opt/

scp /opt/Data01.txt slave3:/opt/

在这里插入图片描述
(1).该系总共有多少学生;
在spark-shell中依次执行如下命令求得该系共有265名学生
在这里插入图片描述
(2).该系共开设多少门课程;
执行如下命令求得该系共开设8门课程:
在这里插入图片描述
(3).Tom同学的总成绩平均分是多少;
执行如下命令求得Tom同学的总成绩平均分为30分:
在这里插入图片描述
(4).求每名同学的选修的课程门数;
执行如下命令求得每名同学的选修课数:
在这里插入图片描述
(5).该系DataBase课程共有多少人选修;
执行如下命令求得选修DataBase的总选修人数为126名:
在这里插入图片描述
(6).各门课程的平均分是多少;
执行如下命令求得各门成绩的平均分:
在这里插入图片描述
(7).使用累加器计算共有多少人选修了DataBase这门课;
执行如下命令使用累加器计算求得共有126人选修了DataBase这门课:
在这里插入图片描述
2.写独立应用程序实现数据去重
对于两个输入文件A和B,编写spark独立应用程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新的文件C。

在/opt目录下新建data文件夹用于存放数据文件A和B

mkdir /opt/data	//创建数据文件目录data

创建新数据文件A
在这里插入图片描述
创建新数据文件B
在这里插入图片描述
在master节点中的hadoop根目录创建工程目录spark_1,及其子目录

cd ~	//进入当前用户根目录

mkdir -p spark_1/src/main/scala

在这里插入图片描述
在spark_1工程目录的子目录scala下编写实现数据去重的逻辑代码

vim ./spark_1/src/main/scala/remdup.scala

在这里插入图片描述
在该工程根目录下新建remdup.sbt脚本文件,版本号信息需与自身搭建的spark环境相同

vim ./spark_1/remduo.sbt

在这里插入图片描述
使用sbt工具对工程进行打包

/opt/sbt/bin/sbt package

在这里插入图片描述
将刚刚生成的jar包提交的spark中运行

/opt/spark/bin/spark-submit --class "RemDup" ~/spark_1/target/scala-2.11/remdup-project_2.11-1.0.jar

在这里插入图片描述
数据去重程序运行生成的结果文件在hdfs文件系统中,名为result,可在浏览器中打开查看
在这里插入图片描述
在终端查看hdfs中的结果文件内容,可见A和B数据文件内容已实现合并去重

/opt/hadoop/bin/hdfs dfs -cat /user/hadoop/result/part-00000

在这里插入图片描述
3.编写独立应用程序实现求平均值问题
每个输入文件表示班级学生某个学科的成绩,每行内容由两个字段组成,第一个是学生名字,第二个是学生的成绩;编写spark独立应用程序求出所有学生的平均成绩,并输出到一个新文件中。

在hadoop用户根目录下创建计算平均分的工程目录并编写逻辑代码
在这里插入图片描述
在工程根目录下创建工程脚本文件
在这里插入图片描述
使用sbt将工程进行打包
在这里插入图片描述
另开一个master终端进入opt目录新建data_2用于存放成绩文件
在这里插入图片描述
成绩文件Algorithm
在这里插入图片描述
成绩文件Database
在这里插入图片描述
成绩文件Python
在这里插入图片描述
在master节点上将jar包提交给spark运行
在这里插入图片描述
在浏览器中查看生成的结果文件result_2
在这里插入图片描述
在终端中查看结果文件的平均分内容信息
在这里插入图片描述
先后关闭spark集群和hadoop集群
在这里插入图片描述

至此,实验结束。

  • 9
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值