云计算实验4 面向行业背景的大数据分析与处理综合实验

一、 实验目的

掌握分布式数据库接口Spark SQL基本操作,以及训练综合能力,包括:数据预处理、向量处理、大数据算法、预测和可视化等综合工程能力

二、 实验环境

Linux的虚拟机环境和实验指导手册

三、 实验任务

完成Spark SQL编程实验、交通数据综合分析平台环境部署和综合实验。

四、 实验步骤

请按照实验指导手册,完成以下实验内容:

实验4-1 Spark SQL:Spark SQL 编程
(1) DataFrame数据集操作
(2) Spark SQL编程操作

实验4-2交通轨迹:安装部署
(1) 安装Spark单节点版

实验4-3交通数据综合分析实验
(1) 数据预处理 (2) 特征向量
(3) Spark SQL (4) 聚类算法
(5) 结果预测 (6) 数据可视化

五、 实验作业

1、提交实验报告电子稿和纸质稿,内容包括安装步骤及主要配置方法说明,关键步骤截图,并对截图内容进行解释说明;

2、个人对实验的总结和心得,本实验具有一定难度和繁琐程度,请总结与撰写自身遇到的问题,以及解决问题的过程。

3、搜索互联网并回答问题:
相关资料:《11天里13个Apache开源项目宣布退休,Hadoop的时代结束了》链接:https://cloud.tencent.com/developer/news/827409
该新闻中报道,约有10个左右的Hadoop开源项目宣布退休,大数据技时代的已经准备落幕了吗?请结合Hadoop技术的优缺点,评价Hadoop项目退休的原因以及未来大数据的发展趋势。

六、 实验结果与分析

1、安装步骤及主要配置方法说明

A. 实验4-1 Spark SQL:Spark SQL 编程

(1) DataFrame数据集操作
(2) Spark SQL编程操作

1、启动spark-shell,启动时指定启动模式
在这里插入图片描述
2、创建spark 的SQLContext
在这里插入图片描述
3、创建DataFrames对象
读取json格式的数据文件,查看数据的schema信息
在这里插入图片描述
在这里插入图片描述
4、select 操作
查询所有的课程名
在这里插入图片描述
查询所有的课程名及课程包大小
在这里插入图片描述
5、filter,groupyBy 和 count() 操作
打印出所有的非实验课程名称,类似于使用where条件过滤
在这里插入图片描述
查询课程长度在5-10之间的课程,将返回一个新的RDD
在这里插入图片描述

B. 实验4-2交通轨迹:安装部署

(1) 安装Spark单节点版
针对安装spark已经做了很多次了,这边还是使用脚本一键安装
脚本源码如下:

在这里插入图片描述
运行脚本,查看结果

在这里插入图片描述

C. 实验4-3交通数据综合分析实验

(1) 数据预处理 (2) 特征向量
(3) Spark SQL (4) 聚类算法
(5) 结果预测 (6) 数据可视化

1、数据准备
在这里插入图片描述
2、解析csv数据
导包和定义字段格式等此处不展示
直接看最后的结果:利用taxidf对象的show方法打印输出前20条数据
在这里插入图片描述
3、构建特征向量
3.1转换数据字段中的经纬度,定义特征数组
在这里插入图片描述
3.2创建向量装配器VetorAssembler,并设置相关属性

在这里插入图片描述
3.3利用向量装配器的transform方法对导入的数据taxidf进行转化,并赋值给taxidf2
在这里插入图片描述
3.4利用taxidf2对象的show方法打印前20条数据查看

在这里插入图片描述
4、聚类模型训练
将数据集划分比例分别作为训练集和测试集,然后对对数据集进行随机划分,randomSplit 的第二个参数为随机数的种子
在这里插入图片描述
在这里插入图片描述
setPredictionCol:设置生成预测值时使用的字段名称
在这里插入图片描述
获取Kmeans模型的聚类中心,可以看到之前设定数量为 10 的聚类结果
在这里插入图片描述
将结果转换为RDD类型,进行经纬度互换,调用RDD对象的saveAsTextFile方法保存结果到本地
在这里插入图片描述
5、聚类模型测试
调用Kmeans模型的transform方法对测试数据进行聚类,调用predictions对象的show方法,输出预测结果
在这里插入图片描述
6、分析预测结果
预测结果为DataFrame,我们先将其注册为临时表perdictions,然后使用SQL查询功能
在这里插入图片描述
基于小时数进行不同预测类型的数量进行统计

在这里插入图片描述
利用聚焦函数agg的count实现,并以desc降序输出结果
在这里插入图片描述
在对表predictions进行where查询,找出4号区域的经纬度记录下来
在这里插入图片描述
在对表predictions进行查询,找出9号区域的经纬度记录下来
在这里插入图片描述
得到每个区域的出租车载客次数总计
在这里插入图片描述
7、数据可视化
配置API及各项参数
在浏览器打开输入URL回车,即可得到聚类结果的10个簇中心在地图上的位置
在这里插入图片描述
在这里插入图片描述
创建一个新的文件夹Visualization,并在此文件夹下创建名为data和js的两个文件夹
在这里插入图片描述
解压并拷贝所有的js文件到此js目录中
在这里插入图片描述
将数据聚类分析的结果busyZones合并成单个文件
在这里插入图片描述
在Visualization目录下创建编辑index.html文件,完成代码编写后,在浏览器中打开文件URL,查看可视化结果
在这里插入图片描述

2、实验的总结和心得

本次实验主要了解了Spark SQL的基本概念、DataFrame、Spark SQL开发,利用Spark进行大数据分析实现交通数据分析系统,结合使用百度地图提供的API实现可视化的图表。其中实验4-1,4-2提供理论基础和实验环境,实验4-3最终实现交通数据的综合分析。在交通数据的综合分析实验中首先进行数据集的分割,其次利用K-means聚类算法进行聚类分析,K-means聚类算法是一种非层次聚类算法,在最小误差的基础上将数据划分了特定的类,类间利用距离作为相似度指标,两个向量之间的距离越小,其相似度就越高。程序读取全国省市经纬度坐标,然后根据经纬度坐标进行K-means聚类分析,最后将结果转换为RDD类型,进行经纬度互换,调用RDD对象的saveAsTextFile方法保存结果到本地。利用百度地图提供的API实现数据可视化。我们可以发现实验是多学科交融的,利用获得的大数据进行合理的配置之后,喂给深度学习模型,模型经过大量数据训练后在使用时效果会更好。利用大数据,可以做好给用户精准推荐,方便分析潜在规律,具有很大的应用价值。

3、请结合Hadoop技术的优缺点,评价Hadoop项目退休的原因以及未来大数据的发展趋势。

这次合并的背景是大数据市场的整合趋势。而且可以说,这场大数据整合潮流也是上面这些项目“退役”的根本原因。很明显,在大数据世界中,大量投资于 Apache Sentry 的供应商和客户现在需要整理他们的损失并继续前进。残酷的现实带来的教训几乎适用于所有技术炒作周期:社区开始兴奋起来,开源技术激增,生态系统逐渐完善。但这些生态系统并不会永存,几乎任何新平台(无论是商业平台还是开源平台)都存在固有的风险。
用 ASF 的 Khudairi 的话来说:“每个项目背后的社区才是代码生命力的源泉(‘代码不会自动编写出来’),因此社区改变项目步伐的情况并不少见。”换句话说,尖端技术令人兴奋,但早期采用者要小心:它也是很脆弱的。请多加注意,并妥善管理风险。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
  ·高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。
  ·高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
  ·高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此其处理速度非常快。
  ·高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
由于Hadoop优势突出,基于Hadoop的应用已经遍地开花,尤其是在互联网领域。Yahoo! 通过集群运行Hadoop,以支持广告系统和Web搜索的研究;Facebook借助集群运行Hadoop,以支持其数据分析和机器学习;百度则使用Hadoop进行搜索日志的分析和网页数据的挖掘工作;淘宝的Hadoop系统用于存储并处理电子商务交易的相关数据;中国移动研究院基于Hadoop的“大云”(BigCloud)系统用于对数据进行分析和并对外提供服务。虽然有很多项目退出,并且Hadoop存在在当前Hadoop的设计中,所有的metadata操作都要通过集中式的NameNode来进行,NameNode有可能是性能的瓶颈,但是就目前Hadoop技术的优势而言,他仍然是未来的主流。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值