Spark SQL练习

Spark SQL

实验目的

1.理解Spark SQL工作原理;

2.掌握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大品牌。

实验步骤

将汽车销售记录上传至HDFS

在这里插入图片描述

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

  • 加载数据为Dataset

    scala> val d1=spark.read.csv("hdfs:/Cars.csv")
    
  • 用编程方式定义RDD,提取关键字段,定义相应的Schema

    scala> import org.apache.spark.sql.types._
    scala> import org.apache.spark.sql.Row
    scala
  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值