大数据实验 实验六:Spark初级编程实践_spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件"h

3. 编写独立应用程序实现数据去重

对于两个输入文件 A 和 B,编写 Spark 独立应用程序(推荐使用 Scala 语言),对两个文件进行合并,并剔除其中重复的内容,得到一个新文件 C。下面是输入文件和输出文件的一个样例,供参考。

输入文件 A 的样例如下:
20170101 x
20170102 y
20170103 x
20170104 y
20170105 z
20170106 z
输入文件 B 的样例如下:
20170101 y
20170102 y
20170103 x
20170104 z
20170105 y
根据输入的文件 A 和 B 合并得到的输出文件 C 的样例如下:
20170101 x
20170101 y
20170102 y
20170103 x
20170104 y
20170104 z
20170105 y
20170105 z
20170106 z

编写文件A B
在这里插入图片描述
配置编译选项
在这里插入图片描述
编译代码
在这里插入图片描述
使用/software/spark-3.4.0-bin-hadoop3/bin/spark-submit --class “RemDup” /software/RemDup/target/scala-2.12/remove-duplication_2.12-1.0.jar 命令运行jar包

运行

在这里插入图片描述
查看运行结果

在这里插入图片描述

4. 编写独立应用程序实现求平均值问题

每个输入文件表示班级学生某个学科的成绩,每行内容由两个字段组成,第一个是学生名字,第二个是学生的成绩;编写 Spark 独立应用程序求出所有学生的平均成绩,并输出到一个新文件中。下面是输入文件和输出文件的一个样例,供参考。

Algorithm 成绩:
小明 92
小红 87
小新 82
小丽 90
Database 成绩:
小明 95
小红 81
小新 89
小丽 85
Python 成绩:
小明 82
小红 83
小新 94
小丽 91
平均成绩如下:
(小红,83.67)
(小新,88.33)
(小明,89.67)
(小丽,88.67)

编译被操作文件 Algorithm database python

在这里插入图片描述
编写代码文件
在这里插入图片描述

编写配置文件

在这里插入图片描述
程序打包
在这里插入图片描述
使用命令/software/spark-3.4.0-bin-hadoop3/bin/spark-submit --class “AvgScore” /software/AvgScore/target/scala-2.12/average-score_2.12-1.0.jar运行程序

在这里插入图片描述
查看结果在这里插入图片描述

出现的问题

问题一

运行start-all命令时spark报错
说缺少依赖

问题二

在etc/profile中更改完环境后
Source命令刷新文件仍然出现路径配置错误
在这里插入图片描述

问题三

在用sbt编译的过程中报错

在这里插入图片描述

解决方案

问题一

在下载安装包时版本选择错误

在这里插入图片描述
将安装包换为
在这里插入图片描述

问题二

因为之前开启了两个窗口进行命令操作
在这里插入图片描述
在一个窗口刷新在另一个窗口使用start-all命令
于是在同一个窗口source一下

在这里插入图片描述成功启动,问题解决

问题三

在这里插入图片描述

在这里插入图片描述
将编译的sbt文件配置改为启动spark-shell中现实的scala的版本号,不能使用,在etc/profile注册路径中的版本

完成编译
在这里插入图片描述
问题解决

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

m5SbY-1712897167283)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-JOn6Ydi3-1712897167283)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值