大数据实验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.rhkb.cn/news/472740.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3 element el-table实现表格动态增加/删除/编辑表格行,带有校验规则

需求描述 在项目中遇到需要实现表格动态的新增、编辑、删除表格行的需求,同时带有校验规则 代码解决 点击新增的时候,给新增row默认属性,给相应的默认值,包括给一个isEditor: true,用来区分是否需要编辑。同时当有编…

Redis下载历史版本

Linux版本: https://download.redis.io/releases/ Windows版本: https://github.com/tporadowski/redis/releases Linux Redis对应gcc版本

初识ElasticSearch

一、了解ES 1.1 什么是 ElasticSearch 1、ElasticSearch 是一款非常强大的开源搜索引擎,可以帮助我们从海量的数据中快速的找到需要的内容。 2、ElasticSearch 结合 Kibana、Logstash、Beats、也就是Elastic Stach(ELK)。被广泛应用在日志数…

【大数据学习 | HBASE高级】hbase-phoenix 与二次索引应用

1. hbase-phoenix的应用 1.1 概述: 上面我们学会了hbase的操作和原理,以及外部集成的mr的计算方式,但是我们在使用hbase的时候,有的时候我们要直接操作hbase做部分数据的查询和插入,这种原生的方式操作在工作过程中还…

Redis在高性能缓存中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 Redis在高性能缓存中的应用 Redis在高性能缓存中的应用 Redis在高性能缓存中的应用 引言 Redis 概述 定义与原理 发展历程 Redi…

MySQL初学之旅(3)约束

目录 1.前言 2.正文 2.1约束类型 2.2NULL约束 2.3UNIQUE约束 2.4DEFAULT约束 2.5PRIMARY KEY主键约束 2.6FOREIGN KEY外键约束 2.7CHECK约束 3.小结 1.前言 哈喽大家好啊,今儿来继续给大家分享最近学习的MySQL和约束相关的知识点,希望大家一起…

RHCE的学习(20)

变量5种赋值方式 shell中变量赋值5种方式,其中采用name10的方法称A 直接赋值 nameB read命令 read v1C 使用命令行参数 ($1 $2 $3 ..) name$1D 使用命令的输入 username$(whoami)E 从文件读取 #cut -d : -f1 /etc/passwd > /user.listfor…

Java项目实战II基于微信小程序的电子商城购物平台(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着互联网…

Godot的开发框架应当是什么样子的?

目录 前言 全局协程还是实例协程? 存档! 全局管理类? UI框架? Godot中的异步(多线程)加载 Godot中的ScriptableObject 游戏流程思考 结语 前言 这是一篇杂谈,主要内容是对我…

【C++】深入理解 C++ 优先级队列、容器适配器与 deque:实现与应用解析

个人主页: 起名字真南的CSDN博客 个人专栏: 【数据结构初阶】 📘 基础数据结构【C语言】 💻 C语言编程技巧【C】 🚀 进阶C【OJ题解】 📝 题解精讲 目录 前言📌 1. 优先级队列、容器适配器和 deque 概述✨1.1 什么是优…

SpringMVC学习笔记(一)

一、SpringMVC的基本概念 (一)三层架构和MVC 1、三层架构概述 我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就是浏览器服务器。在 JavaEE 开发中&…

Jav项目实战II基于微信小程序的助农扶贫的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在当前社会…

Ubuntu安装ollama,并运行ollama和通义千问,使用gradio做界面

Ubuntu安装ollama,并运行ollama和通义千问 安装ollama方式一:方式二 下载安装模型运行大模型运行ollama服务前端的实现python环境安装修改pip国内源前端页面搭建测试前后端联通设计完整的ui 安装ollama 方式一: 访问网站连接,选…

对接阿里云实人认证

对接阿里云实人认证-身份二要素核验接口整理 目录 应用场景 接口文档 接口信息 请求参数 响应参数 调试 阿里云openApi平台调试 查看调用结果 查看SDK示例 下载SDK 遇到问题 本地调试 总结 应用场景 项目有一个提现的场景,需要用户真实的身份信息。 …

C++ 的发展

目录 C 的发展总结:​编辑 1. C 的早期发展(1979-1985) 2. C 标准化过程(1985-1998) 3. C 标准演化(2003-2011) 4. C11(2011年) 5. C14(2014年&#xf…

蓝桥杯——数组

1、移动数组元素 package day3;import java.util.Arrays;public class Demo1 {public static void main(String[] args) {int[] arr {1,2,3,4,5,6};int k 2;int[] arr_new f(arr,k);for (int i : arr_new) {System.out.print(i",");}//或System.out.println();St…

六自由度双足机器人运动控制

最近迷上了研究机器人,花了很多时间研究机器人的控制和交互。先后开发出来了四足四自自由度,四足八自由度,两足四自由度,两足六自由度机器人,并为他们开发了相应的大模型语音交互。通过努力,既锻炼了动手组…

超好用shell脚本NuShell mac安装

利用管道控制任意系统 Nu 可以在 Linux、macOS 和 Windows 上运行。一次学习,处处可用。 一切皆数据 Nu 管道使用结构化数据,你可以用同样的方式安全地选择,过滤和排序。停止解析字符串,开始解决问题。 强大的插件系统 具备强…

第9章 DIV+CSS布局作业

html代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>服务中心</title><link type"text/css" href"../css/322-1.css" rel"stylesheet"/></head><body><di…

nginx源码安装配置ssl域名

nginx源码安装 下载 wget http://nginx.org/download/nginx-1.24.0.tar.gz 解压 tar -zxvf nginx-1.24.0.tar.gz 下载openssl apt install openssl 安装nginx cd nginx-1.24.0 sudo apt-get install libpcre3 libpcre3-dev ./configure --prefix=/home/nginx24 --with-http_ss…