学习笔记Spark(八)—— Spark SQL应用(3)—— Spark DataSet基础操作

大数据 同时被 2 个专栏收录
43 篇文章 0 订阅
10 篇文章 0 订阅

三、Spark DataSet基本操作

3.1、DataSet简介

  • DataSet是分布式的数据集合,DataSet提供了强类型支持,也是在RDD的每行数据加了类型约束。
  • DateSet整合了RDD和DataFrame的优点,支持结构化和非结构化数据。
  • DataFrame表示为DataSet[Row],即DataSet的子集。
  • DataSet是面向对象的编程接口,可以通过JVM的对象进行构建DataSet。

3.1.1、DataFrame的缺点

  1. 编译时不能类型转化安全检查,运行时才能确定是否有问题
  2. 对于对象支持不友好,rdd内部数据直接以java对象存储,dataframe内存存储的是row对象而不能是自定义对象

3.1.2、DateSet的优点

  1. DateSet整合了RDD和DataFrame的优点,支持结构化和非结构化数据
  2. 和RDD一样,支持自定义对象存储
  3. 和DataFrame一样,支持结构化数据的sql查询
  4. 采用堆外内存存储,gc友好
  5. 类型转化安全,代码友好

3.2、创建DataSet

  • 从集合创建DataSet
  • 从rdd创建DataSet
  • 从DataFrame创建DataSet

3.2.1、从集合创建DataSet

createDataset[T](data: List[T])

在这里插入图片描述


3.2.2、从rdd创建DataSet

createDataset[T](data: RDD[T])

在这里插入图片描述


3.2.3、从DataFrame创建DataSet

dataSet=dataFrame.as[强类型]

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


任务1:读取Hive表中的超市商品销售数据

  • 创建Hive表
  • 导入用户购买数据到Hive表
  • 读取Hive表数据创建DataSet

数据 GoodOrder.csv:

步骤:
① 因为是csv,所以我们先上传到hdfs上
在这里插入图片描述
② 打开spark-shell,通过DataFrame方式保存到hive中
在这里插入图片描述
hive中查看数据:
在这里插入图片描述
③ 读取Hive表数据创建DataSet
在这里插入图片描述


3.3、DataSet API

在这里插入图片描述

应用示例
(这是一个DataSet)
在这里插入图片描述
在这里插入图片描述


任务2:统计每件商品的销量

  • 根据商品分组统计商品销量
  • 将统计结果保存到Hive
    在这里插入图片描述
    hive查看:
    在这里插入图片描述
  • 2
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值