IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 大数据课程——Spark SQL -> 正文阅读

[大数据]大数据课程——Spark SQL

大数据课程——Spark SQL

?

实验内容以及要求

现有一份汽车销售记录(文件名:Cars.csv),销售记录包括时间、地点、邮政编码、车辆类型等信息,每条记录信息包含39项数据项。按步骤完成如下操作(建议在Spark-shell中完成):
(1)将汽车销售记录上传至HDFS;
(2)使用编程方式定义RDD模式,提取月、市、区县、品牌、车辆类型、使用性质和数量7列,并定义相应Schema;
(3)将(2)的结果以json格式保存至HDFS;
(4)读取该json文件,构建DataFrame;
(5)在DataFrame中使用SQL语句实现如下查询:

  • 统计各汽车品牌的销量,并按销量从高到低排序;
  • 统计各月各汽车品牌的销量;
  • 统计各市的汽车销量,并按销量从低到高排序;
  • 统计不同城市不同车辆类型的销量;
  • 统计各城市汽车销量最大的区县;
  • 统计1~6月非营运车辆销量最大的前3大品牌。

?

问题总结

课程提供的源数据有问题

本次实验数据不知道哪里有问题,直接使用的话,在存储或者查询的时候,总会报错,说是有一个“客车”String被填入到一个Int类型的“格子”里了。报错如下图。所以最后我是直接处理原数据,把所有用不到的列直接删掉了。然后就没问题了。
在这里插入图片描述
?

关于第5大题的第6个查询题

最后一个查询题,不能直接用Spark.sql()方法,因为在填写where条件,characteristic=“非营运”会报错,我也不知道是什么错误,后来分为两次筛选才完成了实验。

?

Spark-shell卡顿

另外本次实验过程中,遇到很头疼的一个问题就是,Spark-shell总是会莫名其妙卡主,然后就输入不了任何东西,必须要整个spark-shell停止了再次开启才行,但这样的话又会导致数据丢失,因此浪费了大量时间。

?
?

具体实验步骤

?

将汽车销售记录上传至HDFS

此处图片中显示的文件名为Cars2.csv,是因为我对课程所提供的文件进行过初步处理,原因可见“问题总结”。

将原始数据上传到HDFS的/input文件夹中
?
在这里插入图片描述

?

使用编程方式定义RDD模式,提取月、市、区县、品牌、车辆类型、使用性质和数量7列,并定义相应Schema

在这里插入图片描述
?
在这里插入图片描述
?
在这里插入图片描述

?

将上一步的结果以json格式保存至HDFS

在这里插入图片描述
?
在这里插入图片描述
?
在这里插入图片描述

?

读取该json文件,构建DataFrame

在这里插入图片描述

?

在DataFrame中使用SQL语句实现查询

在这一部分当中,所使用的的查询语句均在图片当中以红框形式标出。

(1)统计各汽车品牌的销量,并按销量从高到低排序

在这里插入图片描述

?

(2)统计各月各汽车品牌的销量

在这里插入图片描述

?

(3)统计各市的汽车销量,并按销量从低到高排序

在这里插入图片描述

?

(4)统计不同城市不同车辆类型的销量

在这里插入图片描述

?

(5)统计各城市汽车销量最大的区县

在这里插入图片描述

?

(6)统计1~6月非营运车辆销量最大的前3大品牌

在这里插入图片描述
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-20 23:03:25  更:2022-06-20 23:03:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 0:33:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码