大数据实验9:Spark安装和编程实践
实验九:Spark基础编程1
- 一、实验目的
- 通过实验掌握基本的Spark编程方法;
- 掌握用Spark解决一些基本的数据处理和统计分析,去重、排序等;
- 二、实验要求
- 掌握Spark相关shell命令的使用;
- 完成下面的实验内容,实现数据信息的处理分析;
- 三、实验平台
- 操作系统:Linux(建议Ubuntu16.04或者CentOS 7 以上);
- JDK版本:1.8;
- Hadoop版本:3.1.3;
- Spark版本:2.4.0;
- 四、实验内容、结果及分析(直接在题目后面列出实验过程、结果以及分析)
安装配置参考:Spark安装和编程实践(Spark2.4.0)_厦大数据库实验室博客
- 安装准备
1)安装Spark并进行配置;
1.1将安装包解压缩到/data/bigdata/目录下,并改名为spark-2.3.2。
1.2配置系统环境变量
1.3设置spark运行环境和配置参数
1.4测试spark是否安装正确
1.5启动Spark
- 基于spark-scores.txt 数据集(包含了某大学计算机系的成绩),数据格式如下所示:
姓名,科目,分数
请根据给定的实验数据,在 spark-shell 中通过编程来计算以下内容:
1、将spark-scores.txt上传至你的HDFS中“/学号”路径下,后续操作基于HDFS中的spark-scores.txt实现;
2、该系总共有多少学生;
3、该系共开设了多少门课程;
4、Tom 同学的总成绩平均分是多少;
5、求每名同学的选修的课程门数;
6、该系DataBase 课程共有多少人选修;
7、各门课程的平均分是多少,格式参考如下:
(Python,90)
(ComputerNetwork,88)
…
8、根据7)中的统计结果,帮助平均分最低的课程老师统计学困学生(该门课程成绩不及格)名单;
9、请你帮助系主任统计一下每门课程的选课人数,然后将统计结果保存的HDFS的文件中(自主探索数据写入);
在hdfs查看结果:
- 实验小结(问题和收获)
在本次实验中,我遇到了几个问题,这些问题不仅挑战了我的技术能力,也提高了我解决问题的能力。在处理数据时,我发现数据格式并不完全一致,有些行缺少必要的逗号分隔,导致在分割字符串时出现错误。这要求我编写更健壮的代码来处理不规则的数据输入。在使用Spark进行大数据处理时,我注意到如果不当使用collect方法,可能会导致驱动程序的内存不足。这促使我学习了更多关于Spark作业优化和资源管理的知识。
通过这次实验,我获得了宝贵的经验和知识,这些将对我的未来学习和职业生涯大有裨益。我学会了如何在Spark中处理和分析大规模数据集,包括数据清洗、转换和聚合。这次实验也提高了我的自主学习能力,我能够独立探索和学习新的技术和工具。
总的来说,这次实验不仅让我掌握了使用Spark进行大数据处理的技能,也锻炼了我的问题解决能力和自主学习能力。我相信这些经验将对我的未来学习和工作产生积极的影响。