学习笔记Spark—— Spark SQL应用—— Spark DataSet基础操作
Posted 别呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记Spark—— Spark SQL应用—— Spark DataSet基础操作相关的知识,希望对你有一定的参考价值。
三、Spark DataSet基本操作
3.1、DataSet简介
- DataSet是分布式的数据集合,DataSet提供了强类型支持,也是在RDD的每行数据加了类型约束。
- DateSet整合了RDD和DataFrame的优点,支持结构化和非结构化数据。
- DataFrame表示为DataSet[Row],即DataSet的子集。
- DataSet是面向对象的编程接口,可以通过JVM的对象进行构建DataSet。
3.1.1、DataFrame的缺点
- 编译时不能类型转化安全检查,运行时才能确定是否有问题
- 对于对象支持不友好,rdd内部数据直接以java对象存储,dataframe内存存储的是row对象而不能是自定义对象
3.1.2、DateSet的优点
- DateSet整合了RDD和DataFrame的优点,支持结构化和非结构化数据
- 和RDD一样,支持自定义对象存储
- 和DataFrame一样,支持结构化数据的sql查询
- 采用堆外内存存储,gc友好
- 类型转化安全,代码友好
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查看:
以上是关于学习笔记Spark—— Spark SQL应用—— Spark DataSet基础操作的主要内容,如果未能解决你的问题,请参考以下文章
学习笔记Spark—— Spark SQL应用—— Spark DataFrame基础操作