大数据课程——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大品牌
大数据课程——Spark SQL相关推荐
- 大数据之Spark(四):Spark SQL
一.SparkSQL的发展 1.1 概述 SparkSQL是Spark⽣态体系中的构建在SparkCore基础之上的⼀个基于SQL的计算模块. SparkSQL的前身不叫SparkSQL,⽽叫Shar ...
- 大数据课程体系-学习笔记概要
目录 目录 大数据课程体系 简介 学习阶段不定时更新 大数据课程体系 简介 作为一名物联网工程专业的学生,对于大数据有着不同寻常的热情,在有了一定的Android基础和J2EE基础后,希望学习更多的数 ...
- 不错的大数据课程体系(感谢某机构,希望不属于侵权)
2019独角兽企业重金招聘Python工程师标准>>> 阶段一.大数据.云计算 - Hadoop大数据开发技术 课程一.大数据运维之Linux基础 本部分是基础课程,帮大家进入大数据 ...
- 大数据课程培训大纲及详细说明(全)
一.大数据处理技术-基于Hadoop/Yarn的实战(含Spark.Storm和Docker应用介绍 ) 本课程从大数据技术以及Hadoop/Yarn实战的角度,结合理论和实践,全方位地介绍Hadoo ...
- 大数据课程培训大纲详解,大数据培训学习内容
大数据助力成就非凡.大数据正在改变着商业游戏规则,为企业解决传统业务问题带来变革的机遇.毫无疑问,当未来企业尝试分析现有海量信息以推动业务价值增值时,必定会采用大数据技术.那么大数据培训哪家好呢?今天 ...
- 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】
视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[Spark(概述.快速上手.运行环境.运行架构)] 尚硅谷大数据技术Spark教 ...
- python大数据课程培训大纲
一.大数据处理技术-基于Hadoop/Yarn的实战(含Spark.Storm和Docker应用介绍 ) 本课程从大数据技术以及Hadoop/Yarn实战的角度,结合理论和实践,全方位地介绍Hadoo ...
- 尚硅谷大数据技术Spark教程-笔记09【SparkStreaming(概念、入门、DStream入门、案例实操、总结)】
尚硅谷大数据技术-教程-学习路线-笔记汇总表[课程资料下载] 视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[SparkCore ...
- 大数据课程——课后练习3
大数据课程--课后练习3 1.请简述Spark的主要组件及其主要功能. Spark Core:该组件是Spark的核心模块,主要包含两个功能:一是负责任务调度.内存管理.错误恢复与存储系统交互等:二是 ...
最新文章
- 《高阶Perl》——导读
- [C++ map dp]codeforces 960F. Pathwalks
- HDU - 3360 National Treasures(最小点覆盖-二分图最大匹配+奇偶拆点)
- 练习7-11 字符串逆序 (15分)
- 关于前端页面测试和抵御 clickjacking attack 的一些方法
- php什么是阵列,php – 功能阵列的替代方法?
- java的头怎么写_JAVA对象布局之对象头(Object Header)
- qt初步---Qt实现软件从Windows到Linux跨平台
- 转账引发数据一致性思考
- Rosetta Stone罗塞塔石碑学习语言Win+Mac最新v5.0.37完美破解版+全语言包
- android中界面布局文件放在,android界面布局详解.doc
- 2010年总结机器人领域sci期刊杂志
- 炼丹笔记一——基于TensorFlow的vgg16的cifar10和100简单探究超参数对训练集收敛情况的影响
- String.Empty、string=”” 和null的区别
- 学计算机需要什么文具,开学需要准备哪些文具用品
- Ajax上传文件(视频),并获取上传进度、上传速度和剩余时间。
- lisp ssget 浩辰_lisp程序--AutoCAD和浩辰GstarCAD.pdf
- php连接mongodb数据库报错No suitable servers found
- 【IT女神勋章挑战赛名单公布】:看看谁获奖啦!
- 大鹏背景,大鹏为什么能邀请那么多明星?揭秘董成鹏的成名路
热门文章
- 网站PV、UV的含义
- 很多人问如何把网页封装成app呢?
- 为防止用户自定义Bixby按键,三星先给T-Mobile用户的S8发送更新
- bixby服务器没响应,猫盘开启ssh教程(原版系统,听闻一键x3p已经不能用了!)...
- 计算机硬件的组装硬盘,组装电脑如何选择硬盘?DIY装机四种电脑硬盘搭配方案提供参考...
- 过去66年的66项最佳发明(1994~2019)
- liferay portlet二次开发多个ajax数据传递
- sum if函数的精妙及高级用法:
- 《苏格拉底回忆录》节选——论友谊的价值
- 第10章 Spark(全面解读Spark架构体系)