聚合操作_多维聚合_rollup 案例 | 学习笔记

简介: 快速学习聚合操作_多维聚合_rollup 案例

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段聚合操作_多维聚合_rollup 案例】学习笔记,与课程紧密联系,让用户快速学习知识。

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


聚合操作_多维聚合_rollup 案例

 

rollup 案例

案例:对 beijing pm 值数据集进行统计

进入 AggProcessor.scala 中,创建相关代码:

@Test

def rollup1(): Unit = {

import org . apache. spark. sql. functions._

// 1.数据集读取

val schemaFinal = StructType(

List(

structF ield("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( schemaF inal )

.option("header" ,Ivalue = true)

.csv( path= "dataset/pm final.csv")

// 2.聚合和统计

数据集中的数据大致可分为三部分,一是 source,二是时间,三是 pm 值。根据数据集可以提出以下需求:

//需求 1:每个 PM 做计量者, 每年 PM 值统计的平均数 groupby source year

//需求 2: 每个 PM 值计量者, 整体上:的 PM 平均值 groupby source

//需求 3:全局所有的计量者, 和日期的 PM 值的平均值 groupby null

pmFinal. rollup( cols = 'source, 'year)

. agg(avg('pm) as "pm" )

注:

使用 aag 要在前面导入 org . apache. spark. sql. functions.

. sort('source.asc_ nulls_ last, ' year .asc_ nulls_ last)

. show()

}

运行得到结果集:

前三行数据是每一年统计出的 Dongsi 测量的 pm 值,第四行是每一年 pm 的平均值;两个 null 代表全局的 pm 平均值。

image.png

我们知道使用 rollup 可以进行统计。

相关文章
|
5月前
|
存储 缓存 自然语言处理
elasticsearch 聚合 : 指标聚合、桶聚合、管道聚合解析使用总结
elasticsearch 聚合 : 指标聚合、桶聚合、管道聚合解析使用总结
|
5月前
|
存储 SQL BI
深入解析实时数仓Doris:Rollup上卷表与查询
深入解析实时数仓Doris:Rollup上卷表与查询
|
6月前
|
数据可视化 Python
如何在Pandas中对数据集进行多级分组并进行聚合计算?
在Pandas中进行多级分组与聚合计算的步骤包括导入库(如pandas和matplotlib),准备数据集,使用`groupby()`方法分组,应用聚合函数(如`sum()`、`mean()`)及可视化结果。
73 11
|
6月前
|
SQL 搜索推荐 数据库
8. 聚合查询
8. 聚合查询
|
存储
ES聚合查询详解(四):管道聚合
ES聚合查询详解(四):管道聚合
541 0
ES聚合查询详解(四):管道聚合
|
大数据 开发者
聚合操作_多维聚合_rollup | 学习笔记
快速学习聚合操作_多维聚合_rollup
聚合操作_多维聚合_rollup | 学习笔记
|
大数据 开发者
聚合操作_多维聚合_cube | 学习笔记
快速学习聚合操作_多维聚合_cube
聚合操作_多维聚合_cube | 学习笔记
|
大数据 开发者
聚合操作_多维聚合_需求介绍 | 学习笔记
快速学习聚合操作_多维聚合_需求介绍
110 0
聚合操作_多维聚合_需求介绍 | 学习笔记
|
SQL 分布式计算 大数据
聚合操作_多维聚合_cubeSQL | 学习笔记
快速学习聚合操作_多维聚合_cubeSQL
119 0
聚合操作_多维聚合_cubeSQL | 学习笔记
|
SQL 大数据 开发者
聚合操作_多维聚合_GroupedDataset | 学习笔记
快速学习聚合操作_多维聚合_GroupedDataset
256 0
聚合操作_多维聚合_GroupedDataset | 学习笔记