大数据技术原理与应用 实验6 Spark数据处理系统的搭建
目录
- 一、实验题目
- 二、实验目的
- 三、实验平台
- 四、实验内容和要求
- 1.Spark RDD部分:
- 2.Spark SQL部分(分别使用Spark SQL API和Spark DataFrames API完成):
- 五、实验步骤
- 1. Spark RDD部分
- 1.1 读取文件
- 1.2 统计"Spark"词频
- 1.3 统计空白行出现次数
- 2. Spark SQL部分
- 2.1 建立文件
- 2.2 Spark DataFrames API实现
- 2.3 Spark SQL API实现
一、实验题目
熟悉常用的Spark操作。
二、实验目的
1.熟悉Spark Shell的使用;
2.熟悉常用的Spark RDD API、Spark SQL API和Spark DataFrames API。
三、实验平台
操作系统:Linux
Spark版本: 1.6
Hadoop版本: 3.3.0
JDK版本:1.8
四、实验内容和要求
使用Spark shell完成如下习题:
1.Spark RDD部分:
a)读取Spark安装目录下的文件README.md(/usr/local/spark/README.md);
b)统计包含“Spark”的单词(区分大小写)的出现次数,给出执行语句与结果截图;
c)统计空白行的出现次数,给出执行语句与结果截图。
2.Spark SQL部分(分别使用Spark SQL API和Spark DataFrames API完成):
a)在Spark安装目录下建立一个文件example.json,内容如下:
{“name”: “Michael”, “age”: 25, “gender”: “male”}
{“name”: “Andy”, “age”: 30, “gender”: “female”}
{“name”: “Justin”, “age”: 19, “gender”: “female”}
b)读取该文件(/usr/local/spark/example.json)
c)筛选性别为”female”的记录并显示结果,给出执行语句与结果截图;
d)统计性别为”male”和”female”的人数并显示结果,给出执行语句与结果截图。
(提示:使用DataFrames API判断字符串相等,应使用”===”操作符;使用SQL API判断字符串相等,应使用”=”操作符)
五、实验步骤
1. Spark RDD部分
1.1 读取文件
val textFile = sc.textFile("file:///usr/local/spark/README.md");
1.2 统计"Spark"词频
textFile.filter(word => word.contains("Spark")).count();
1.3 统计空白行出现次数
textFile.flatMap(_.split("\n")).filter(_.size == 0) .count();
2. Spark SQL部分
2.1 建立文件
路径:/usr/local/spark/example.json
内容:
{“name”: “Michael”, “age”: 25, “gender”: “male”}
{“name”: “Andy”, “age”: 30, “gender”: “female”}
{“name”: “Justin”, “age”: 19, “gender”: “female”}
2.2 Spark DataFrames API实现
a)读取文件
val df = sqlContext.read.json("file:///usr/local/spark/example.json");
df.show();
b)筛选性别为"female"的记录
df.filter(df("gender") === "female").show();
c)统计性别为"male"和"female"的人数
df.groupBy("gender").count().show();
2.3 Spark SQL API实现
a)将df注册为临时表people
df.registerTempTable("people");
b)读取文件
val result = sqlContext.sql("SELECT * FROM people");
result.show();
c)筛选性别为"female"的记录
val result = sqlContext.sql("SELECT * FROM people WHERE gender = 'female' ");
result.show();
d)统计性别为"male"和"female"的人数
val result = sqlContext.sql("SELECT gender, COUNT (*) AS count FROM people GROUP BY gender");
result.show();
大数据技术原理与应用 实验6 Spark数据处理系统的搭建相关推荐
- 大数据技术原理与应用之【Spark】习题
1.Spark是基于内存计算的大数据计算平台,试述Spark的主要特点. 答:Spark具有如下4个主要特点: ①运行速度快:②容易使用:③通用性:④运行模式多样. 2.Spark的出现是为了解决Ha ...
- 大数据技术原理与应用实验五
实验:五 实验题目:熟悉常用的HDFS操作-利用Java API编程实现 1.实验目的 · 熟悉HDFS操作常用的Java API. 2.实验平台 · Hadoop 2.7.1 · Eclipse · ...
- [渝粤教育] 厦门大学 大数据技术原理与应用 参考 资料
教育 -大数据技术原理与应用-章节资料考试资料-厦门大学[] 第1章 大数据概述 单元测验 1.[单选题]第三次信息化浪潮的标志是: A.个人电脑的普及 B.互联网的普及 C.云计算.大数据.物联网技 ...
- 大数据技术原理与应用课后题(林子雨)
大数据技术原理与应用(林子雨) 第1章 大数据概述 1单选(2分) 第三次信息化浪潮的标志是: A.个人电脑的普及 B.云计算.大数据.物联网技术的普及 C.虚拟现实技术的普及 D.互联网的普及 正确 ...
- 大数据技术原理与应用 第一篇 大数据基础
目录 第一章 大数据概述 一. 大数据时代 1.1 三次信息化浪潮 1.2 信息科技发展 1.3 数据产生方式的变革 1.4 大数据的影响 二. 大数据的概念 2.1 大数据的特征 2.2 大数据关键 ...
- 大数据技术原理与应用—课后题答案(第一章)
大数据技术原理与应用_林子雨版_课后题答案(第一章) 1.试述信息技术发展史上的3次信息化浪潮及具体内容. 信息化浪潮 发生时间 标志 解决问题 ...
- 大数据技术原理与应用课程建设经验分享
大数据技术原理与应用课程 建设经验分享 林子雨 厦门大学信息科学与技术学院, 福建 厦门 361005 摘要:大数据专业人才的培养是世界各国新一轮科技较量的基础,高等院校承担着大数据人才培养的重任 ...
- 大数据技术原理与应用作业一
大数据技术原理与应用作业一 1.试述信息技术发展史上的3次信息化浪潮及其具体内容. 第一次信息化浪潮发生在1980年前后,具体标志是个人计算机的出现,PC开始普及,使得计算机走入企业和千家万户,大 ...
- 大数据技术原理与应用-大数据概述
文章目录 1 大数据时代 1.1 第三次信息化浪潮 1.2 信息科技为大数据时代提供技术支撑 1.2.1 存储设备容量不断增加 1.2.2 CPU处理能力大幅提升 1.2.3 网络带宽不断增加 1.3 ...
最新文章
- 更高效的PacBio长read纠错算法的研究
- 鼠标跟随flash代码_FLASH如何制作密码锁功能(AS3)
- 登顶Nature | DeepMind用AI首次实现数学领域重大进展,助力科学家证实两大猜想
- 第二部分:S5PV210_关看门狗_1
- python模块导入_Python模块导入详解
- BZOJ1565[NOI2009]植物大战僵尸——最大权闭合子图+拓扑排序
- python3解释器执行not 1 and 1_编程语言的分类,python解释器多版本共存.执行python的两种方式,变量,用户与程序交互...
- pb retrieve时停止工作_大佬们挂在嘴边的PE、PB是什么?
- Nginx配置性能优化(转)
- java图形界面重写坐标_重写自由软件和计算机图形的历史
- 代码审计之CVE-2017-6920 Drupal远程代码执行漏洞学习
- 仿函数functors
- 如何在Visual Studio 2012中撤消“范围到此”?
- 如何把catia完全卸载干净_catia软件无法卸载怎么办?彻底删除catia等三维软件的方法...
- mount远程驱动器
- Linux音频驱动-IIS总线标准
- android查看native日志,Android 日志管理框架 NativeLogger
- 7.java基本数据类型转换包含哪两类?
- 『号外号外』WoS数据库更新后导入VOSviewer出错的原因
- linux下载tar包和rpm包以及镜像的地址分享一下