【大数据存储】实验七 Spark RDD

Spark RDD操作实验

一、实验目的

(1)掌握使用Spark访问本地文件和HDFS文件的方法

(2)熟练掌握在Spark Shell中对Spark RDD的操作方法

(3)掌握Spark应用程序的编写、编译打包和运行方法

二、.实验平台

(1)操作系统:Ubuntu 22.04

(2)Spark版本:3.3.4

(3)Hadoop版本:3.2.3

三、实验步骤(在spark-shell中完成)

1、读取Linux系统本地文件,并统计出文件的行数(.count())。

创建txt文件内容如下:

val t=sc.textFile("file:///home/prx17/Desktop/cat_group")

t.count()

  1. 读取HDFS系统文件,并统计出文件的行数。

将本地文件上传至hdfs

hdfs dfs -put /home/prx17/Desktop/cat_group /data

hdfs dfs -cat /data/cat_group

统计行数

val hdfsfile=sc.textFile("hdfs://localhost:9000/data/cat_group")

  1. 通过调用parallelize方法,用数组Array={1,2,3,4,5}创建RDD,并求出个各元素的乘积。

  1. 过滤出文件中所有包含“spark”的行,将结果打印出来。

创建txt文件内容如下:

  1. 假设有一个本地文件word.txt,里面包含了很多行文本,每行文本由多个单词构成,单词之间用空格分隔。对该文本进行词频统计。

6、将下面的成绩单,根据分数降序排序。    

Marry

78

John

82

Wang

90

Lee

69

Yang

85

  1. 给定一组键值对(”Marry”,78),(”John”,89),(”Mike”,92),(”Sam”,69),(”Rose”,77),键值对中的value表示分数,计算所有同学成绩的平均分。

8、删除人名重复的记录,只保留一条记录。    

Marry

78

John

82

Lee

69

Sam

93

Marry

78

Lin

66

Wang

90

Lee

69

Zhang

85

创建文件

创建rdd

去重方法一:

去重方法二:

变成键值对形式

val key=t.map(line=>(line.split(" ")(0).trim(),line.split(" ")(1).trim().toInt))

问题与解决方法:

1.解决启动spark时报出一堆INFO,进入spark的conf文件

进入log4j.properties文件,将其中的INFO修改为WARN

重启无大量INFO

  1. lines.distinct()去重方式操作并不会对lines进行行动​​​​​​​

只有把去重结果赋给一个变量才能保存去重结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/517186.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动化测试框架Robot Framework入门

什么是RF RF是一个基于 Python 的、可扩展的关键字驱动的自动化 验收测试框架、验收测试驱动开发 (ATDD)、 行为驱动开发 (BDD) 和机器人流程自动化 (RPA)。它 可用于分布式、异构环境,其中自动…

VUE3和SpringBoot实现ChatGPT页面打字效果SSE流式数据展示

在做这个功能之前,本人也是走了很多弯路(花了好几天才搞好),你能看到本篇博文,那你就是找对地方了。百度上很多都是使用SseEmitter这种方式,这种方式使用的是websocket,使用这种方式就搞复杂了&…

STM32 PWM方式读取AS5600磁编码器数据

HAL STM32 PWM方式读取AS5600磁编码器获取角度例程 📍相关篇《STM32 软件I2C方式读取AS5600磁编码器获取角度例程》 📌《HAL STM32 硬件I2C方式读取AS5600磁编码器获取角度例程》 🍁先通过IIC读取的角度值和逻辑分析仪抓取的AS5600 OUT引脚…

MySQL - 基础二

6、表的增删改查 CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除) 6.1、Create 语法: INSERT [INTO] table_name[(column [, column] ...)]VALUES (value_list) [, (value_list)] ...value_list: v…

SQL注入---盲注

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.盲注概述 注是一种SQL注入攻击的形式,在这种攻击中,攻击者向目标应用程序发送恶意注入代码,然后通过观察应用程序的响应来推断出数据库中的信息。与常规的…

@Order和@DependsOn的区别

这里写自定义目录标题 一、区别二、demo演示1、Order2、DependsOn 一、区别 Order:改变Bean注入的顺序DependsOn:改变Bean创建的顺序 二、demo演示 1、Order 类 A B 都实现了接口 I ,且 A B都由Spring容器创建并且管理 public class A im…

【Qt】:常用控件(二:QWidget核心属性)

常用控件(二) 一.cursor(光标形状)二.font(字体信息)三.toolTip(提示显示)四.focusPolicy(焦点)五.styleSheet(文本样式) 一.cursor&a…

Windows Docker 部署 Firefly III 开源记账软件

一、简介 Firefly III是一款开源的记账软件,支持全球多种语言。它可以帮助用户追踪和管理个人账目、预算和账单,减少支出,节省更多。该软件支持多种货币、银行账户和投资账户,并提供了丰富的报表功能,帮助用户更好地了…

预处理指令详解

前言 上一节我们了解了文件操作的相关内容,本节我们来了解一下预处理指令,那么废话不多说,我们正式开始今天的学习 预定义符号 在C语言中,设置了一些预定义的符号,可以供我们直接使用,预定义符号是在程序…

拓扑排序--有向无环图中一个节点的所有祖先

题目描述 给你一个正整数 n ,它表示一个 有向无环图 中节点的数目,节点编号为 0 到 n - 1 (包括两者)。 给你一个二维整数数组 edges ,其中 edges[i] [fromi, toi] 表示图中一条从 fromi 到 toi 的单向边。 请你返…

基于SpringBoot和Vue的金融融资管理系统的设计和实现【附源码】

1、系统演示视频(演示视频) 2、需要交流和学习请联系

图像处理入门 3(how to get the pixel pitch / 如何获得单个像素的尺寸)

在这里一节里面,将记录如何获得一个相机传感器中单个像素点的尺寸,为了实现不同相机照片之间的匹配。 如果我们知道了相机传感器的尺寸和分辨率的大小,自然就可以求出单个像素的大小。 在这里插入图片描述: 如何获得相机传感器的…

读《Spring实战》:面向切面

AOP术语 通知(Advice) 在AOP中,切面的工作被称为通知,也就是通知就是具体要干的工作。 spring中有5中通知: 前置通知: 在目标方法之前调用通知功能后置通知: 在目标方法之后调用通知功能返回…

SQL Server维护计划

目录 1.概述 2.启动SQL Server 代理服务 3.制定维护计划 4.验证维护计划 5.删除维护计划 1.概述 此文还是存货哈! SQL Server 2008 R2维护计划。 2.启动SQL Server 代理服务 在设置维护计划之前,必须先确保SQL Server 代理服务已启动。启动方法如…

FastAPI Web框架教程 第12章 异步async-await

12-1 fastapi是异步Web框架 从本教程开篇,我们就说FastAPI这个web框架是异步框架,那它到底是如何体现异步的呢? 想要学习使如何使用FastAPI的异步功能,那就必须要先了解什么是异步,什么是asyncio、async/await 【基…

BoostCompass —— 搜索引擎

文章目录 一、项目简介二、Boost库简介1. 简介2. Boost 库的特点 三、项目主要模块1. 网页内容获取,数据预处理模块2. 建立正排索引和倒排索引,项目核心模块3. 编写 http_server 模块,进行网络开放 四、项目功能预览1. 项目文件预览2. 项目执…

基于储能电站服务的冷热电多微网系统 双层优化配置

目录 一、主要内容 二、部分代码 三、程序结果 四、下载链接 一、主要内容 随着储能技术的进步和共享经济的发展,共享储能电站服务模式将成为未来用户侧储能应用的新形态。提出基于储能电站服务的冷热电联供型多微网系统双层优化配置方法。 首先,提出…

【深入理解计算机系统第3版】有符号数和无符号数转换以及移位运算练习题2.23

题目 考虑下面的C函数&#xff1a; int fun1(unsigned word) {return (int) ((word << 24) >> 24); }int fun2(unsigned word) {return ((int) word << 24) >> 24; } 假设一个采用补码运算的机器上以32位程序来执行这些函数。还假设有符号数值的右移…

C易错注意之const修饰指针,含char类型计算,位段及相关经典易错例题

目录 前言 一&#xff1a;const修饰指针 1.const修饰变量 2.const 修饰指针 1.const int*p&m; 2. int* const p&m; 3. int const *p&m; 4. int const *const p&m; 5.总结 总之一句话为&#xff1a;左定值有定向 二&#xff1a;关于计算中char类型…

前端开发基础(HTML5 + CSS3)【第一篇】:HTML标签之文字排版、图片、链接、音频、视频 涵盖了两个综合案例 做到了基础学得会,实战写的出

点击前往前端开发基础专栏&#xff1a; 文章目录 HTML5 CSS3 开发一、开发环境搭建下载 VS Code1. 2 插件的下载1.3 项目和文件的下载 二、 什么是 HTML2.1 标签的语法2.2 代码演示&#xff1a;2.3 小结 三 、HTML基本骨架3.1 快捷键生成HTML骨架3.2 代码展示3.3 小结 四、标…