聚合操作_多维聚合_cubeSQL | 学习笔记

简介: 快速学习聚合操作_多维聚合_cubeSQL

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段:课时名称】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/690/detail/12093


聚合操作_多维聚合_cubeSQL

 

cubeSQL

 

Cube 和 rollup 算子,在 helpSQL 当中也有类似的语句。

helpSQL 直接支持 cube,但是 spark 当前的这个版本还不直接支持 cube,spark 当中支持另外一种写法,可以按照 grouping sets 进行相应聚合,下面一起去了解一下怎么完成这种聚合。

进入到代码当中,先把数据集拷贝:

注:算子是 sql 操作,只是写成了命令式并且算子中直接支持 sql 语句。

@Test

def cubesql(): unit = {

val schemaFinal = structType(

list(

structField( "source", stringType),

structField( "year", IntegerType),

structField("month", IntegerType),

structField( "day", IntegerType),

structField(""hour", IntegerType),

structField("season", IntegerType) ,

structField( "pm", DoubleType)

val pmFinal = spark.read

.schema(schemaFinal)

.option( "header", value = true)

.csv( path = "dataset/ pm_final.csv")

pmFinal.createorReplaceTempview( viewName = "pm_final")

/编写 sql

Val result = spark.sql( sqlText = "select source,year,avg(pm) as pm from pm_final group by source, year " +"grouping sets ((source, year), (source), (year),())"+

"order by source asc nulls last, year asc nulls last")

注:

select 后面的内容要先编写 from 后的内容;(source,year)后的 source,year 要带上括号,表示是多个集合。

通过 grouping sets 间接实现 cube 的功能,提高控制力。

Result.show()

}

运行并查看结果集:

image.png

以上就是 sql 语句中编写 cube 代码。

相关文章
|
8月前
|
存储 缓存 自然语言处理
elasticsearch 聚合 : 指标聚合、桶聚合、管道聚合解析使用总结
elasticsearch 聚合 : 指标聚合、桶聚合、管道聚合解析使用总结
|
9月前
|
数据挖掘 索引
使用 DataFrame 进行数据聚合与透视:洞察数据深层结构
【5月更文挑战第19天】DataFrame 提供了聚合和透视功能,便于数据分析。通过`groupby`和`agg`计算类别统计信息,如`sum`和`mean`,揭示数据模式。使用`pivot_table`重新排列数据,展示清晰结构。多维度透视和按时间聚合进一步增强分析能力。这些工具帮助我们理解复杂数据,挖掘隐藏规律,为决策提供依据。利用DataFrame进行数据深层分析,解锁数据价值,开启数据探索之旅。
97 2
|
9月前
|
SQL 搜索推荐 数据库
8. 聚合查询
8. 聚合查询
|
9月前
|
关系型数据库 MySQL 数据库
『 MySQL数据库 』聚合统计
『 MySQL数据库 』聚合统计
DQL-分组聚合
DQL-分组聚合
39 0
|
存储
ES聚合查询详解(四):管道聚合
ES聚合查询详解(四):管道聚合
578 0
ES聚合查询详解(四):管道聚合
|
大数据 开发者
聚合操作_多维聚合_需求介绍 | 学习笔记
快速学习聚合操作_多维聚合_需求介绍
121 0
聚合操作_多维聚合_需求介绍 | 学习笔记
|
SQL 大数据 开发者
聚合操作_多维聚合_GroupedDataset | 学习笔记
快速学习聚合操作_多维聚合_GroupedDataset
272 0
聚合操作_多维聚合_GroupedDataset | 学习笔记
|
大数据 开发者
聚合操作_多维聚合_cube | 学习笔记
快速学习聚合操作_多维聚合_cube
聚合操作_多维聚合_cube | 学习笔记
|
大数据 开发者
聚合操作_多维聚合_rollup | 学习笔记
快速学习聚合操作_多维聚合_rollup
103 0
聚合操作_多维聚合_rollup | 学习笔记