当前位置: 首页 > article >正文

大数据实验9:Spark安装和编程实践

实验九:Spark基础编程1

  • 一、实验目的
  1. 通过实验掌握基本的Spark编程方法;
  2. 掌握用Spark解决一些基本的数据处理和统计分析,去重、排序等;
  • 二、实验要求
  1. 掌握Spark相关shell命令的使用;
  2. 完成下面的实验内容,实现数据信息的处理分析;
  • 三、实验平台
  1. 操作系统:Linux(建议Ubuntu16.04或者CentOS 7 以上);
  2. JDK版本:1.8;
  3. Hadoop版本:3.1.3;
  4. Spark版本:2.4.0;
  • 四、实验内容、结果及分析(直接在题目后面列出实验过程、结果以及分析)

安装配置参考:Spark安装和编程实践(Spark2.4.0)_厦大数据库实验室博客

  1. 安装准备

1)安装Spark并进行配置;

1.1将安装包解压缩到/data/bigdata/目录下,并改名为spark-2.3.2。

1.2配置系统环境变量

1.3设置spark运行环境和配置参数

1.4测试spark是否安装正确

1.5启动Spark

  1. 基于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进行大数据处理的技能,也锻炼了我的问题解决能力和自主学习能力。我相信这些经验将对我的未来学习和工作产生积极的影响。


http://www.kler.cn/a/396519.html

相关文章:

  • Springboot集成ElasticSearch实现minio文件内容全文检索
  • 借助Excel实现Word表格快速排序
  • cls(c基础)
  • 操作系统实验:在linux下用c语言模拟进程调度算法程序
  • 动态规划-背包问题——[模版]完全背包问题
  • FluentUI使用
  • Jackson与GSON的深度对比
  • mybatis-plus: mapper-locations: “classpath*:/mapper/**/*.xml“配置!!!解释
  • 初学人工智不理解的名词3
  • 释放高级功能:Nexusflows Athene-V2-Agent在工具使用和代理用例方面超越 GPT-4o
  • 从电动汽车到车载充电器:LM317LBDR2G 线性稳压器在汽车中的多场景应用
  • springboot实现简单的数据查询接口(无实体类)
  • Java项目实战II基于微信小程序的订餐系统(开发文档+数据库+源码)
  • 本机ip地址和网络ip地址一样吗
  • AI服务器SAS硬盘汰换与数据抹除指南
  • HarmonyOS ArkUI(基于ArkTS) 开发布局 (中)
  • 基于STM32智能电流表
  • Python酷库之旅-第三方库Pandas(218)
  • 探索 TraceBoard:统计你的键盘按键使用情况
  • android应用调用c语言的so库
  • 专业140+总分400+南京大学851信号与系统考研经验南大电子信息通信工程集成电路,真题,大纲,参考书。
  • 华为云前台用户可挂载数据盘和系统盘是怎么做到的?
  • 计算机组成原理对于学习嵌入式开发的意义
  • jmeter并发测试
  • 【已解决】 Tomcat10.1.x使用JSTL标签库
  • Android音视频直播低延迟探究之:WLAN低延迟模式