大数据课程——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相关推荐

  1. 大数据之Spark(四):Spark SQL

    一.SparkSQL的发展 1.1 概述 SparkSQL是Spark⽣态体系中的构建在SparkCore基础之上的⼀个基于SQL的计算模块. SparkSQL的前身不叫SparkSQL,⽽叫Shar ...

  2. 大数据课程体系-学习笔记概要

    目录 目录 大数据课程体系 简介 学习阶段不定时更新 大数据课程体系 简介 作为一名物联网工程专业的学生,对于大数据有着不同寻常的热情,在有了一定的Android基础和J2EE基础后,希望学习更多的数 ...

  3. 不错的大数据课程体系(感谢某机构,希望不属于侵权)

    2019独角兽企业重金招聘Python工程师标准>>> 阶段一.大数据.云计算 - Hadoop大数据开发技术 课程一.大数据运维之Linux基础 本部分是基础课程,帮大家进入大数据 ...

  4. 大数据课程培训大纲及详细说明(全)

    一.大数据处理技术-基于Hadoop/Yarn的实战(含Spark.Storm和Docker应用介绍 ) 本课程从大数据技术以及Hadoop/Yarn实战的角度,结合理论和实践,全方位地介绍Hadoo ...

  5. 大数据课程培训大纲详解,大数据培训学习内容

    大数据助力成就非凡.大数据正在改变着商业游戏规则,为企业解决传统业务问题带来变革的机遇.毫无疑问,当未来企业尝试分析现有海量信息以推动业务价值增值时,必定会采用大数据技术.那么大数据培训哪家好呢?今天 ...

  6. 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】

    视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[Spark(概述.快速上手.运行环境.运行架构)] 尚硅谷大数据技术Spark教 ...

  7. python大数据课程培训大纲

    一.大数据处理技术-基于Hadoop/Yarn的实战(含Spark.Storm和Docker应用介绍 ) 本课程从大数据技术以及Hadoop/Yarn实战的角度,结合理论和实践,全方位地介绍Hadoo ...

  8. 尚硅谷大数据技术Spark教程-笔记09【SparkStreaming(概念、入门、DStream入门、案例实操、总结)】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表[课程资料下载] 视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[SparkCore ...

  9. 大数据课程——课后练习3

    大数据课程--课后练习3 1.请简述Spark的主要组件及其主要功能. Spark Core:该组件是Spark的核心模块,主要包含两个功能:一是负责任务调度.内存管理.错误恢复与存储系统交互等:二是 ...

最新文章

  1. 《高阶Perl》——导读
  2. [C++ map dp]codeforces 960F. Pathwalks
  3. HDU - 3360 National Treasures(最小点覆盖-二分图最大匹配+奇偶拆点)
  4. 练习7-11 字符串逆序 (15分)
  5. 关于前端页面测试和抵御 clickjacking attack 的一些方法
  6. php什么是阵列,php – 功能阵列的替代方法?
  7. java的头怎么写_JAVA对象布局之对象头(Object Header)
  8. qt初步---Qt实现软件从Windows到Linux跨平台
  9. 转账引发数据一致性思考
  10. Rosetta Stone罗塞塔石碑学习语言Win+Mac最新v5.0.37完美破解版+全语言包
  11. android中界面布局文件放在,android界面布局详解.doc
  12. 2010年总结机器人领域sci期刊杂志
  13. 炼丹笔记一——基于TensorFlow的vgg16的cifar10和100简单探究超参数对训练集收敛情况的影响
  14. String.Empty、string=”” 和null的区别
  15. 学计算机需要什么文具,开学需要准备哪些文具用品
  16. Ajax上传文件(视频),并获取上传进度、上传速度和剩余时间。
  17. lisp ssget 浩辰_lisp程序--AutoCAD和浩辰GstarCAD.pdf
  18. php连接mongodb数据库报错No suitable servers found
  19. 【IT女神勋章挑战赛名单公布】:看看谁获奖啦!
  20. 大鹏背景,大鹏为什么能邀请那么多明星?揭秘董成鹏的成名路

热门文章

  1. 网站PV、UV的含义
  2. 很多人问如何把网页封装成app呢?
  3. 为防止用户自定义Bixby按键,三星先给T-Mobile用户的S8发送更新
  4. bixby服务器没响应,猫盘开启ssh教程(原版系统,听闻一键x3p已经不能用了!)...
  5. 计算机硬件的组装硬盘,组装电脑如何选择硬盘?DIY装机四种电脑硬盘搭配方案提供参考...
  6. 过去66年的66项最佳发明(1994~2019)
  7. liferay portlet二次开发多个ajax数据传递
  8. sum if函数的精妙及高级用法:
  9. 《苏格拉底回忆录》节选——论友谊的价值
  10. 第10章 Spark(全面解读Spark架构体系)