聚合操作_多维聚合_需求介绍 | 学习笔记

简介: 快速学习聚合操作_多维聚合_需求介绍

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

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


聚合操作_多维聚合_需求介绍

 

多维聚合

Rollup 和 cube 是多维度聚合,而 groupBy 是单维聚合。

多维聚合:比如在打游戏时,有大招数和小招数之分,多维聚合就可以认为是大招数,而单维聚合就是小招数。多维聚合比较少见,因为其适用的场景较少。

本节课内容是介绍多维聚合是什么、怎样使用普通的 SparkSQL 代码完成多维聚合。介绍多维聚合是什么,首先要读取数据集。

image.png

针对数据进行多维的聚合,也就是一次性统计小计,总计等,一般的思路如下:

Step1:读取数据集

将名称为 pm_final.csv 的文件拷贝到 saprkdataset 目录下

image.png

创建方法 multiAgg():ynit = {

@Test

def multiAgg() : unit = {

val schemaFinal = StructType(

List(

注:比之前代码多了 StructField( "source" , StringType)一列

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)

.csvtcataset/pm_final.csv")

数据集读取之后打印数据集

pmFinal.show()

}

运行并查看结果:

image.png

数据集当中多出 source 一列,是用于统计 PM 值的来源,数据集当中可能存在一个时间统计的 PM 值有两个来源。

下面根据数据集提出如下需求:

需求 1:不同来源 PM 的统计

需求 2:在同一个月,不同来源的 PM 值的平均值是多少

需求 3:同一年,不同来源的 PM 值平均是多少

需求 4:整体上来看,不同来源的 PM 值是多少

多维操作就是在一个结果集中,包含小计,总计,一层层进行聚合就是多维聚合。

目录
打赏
0
0
0
0
127
分享
相关文章
SQL基础——聚合与排序(下)
SQL基础——聚合与排序(下)
181 0
SQL基础——聚合与排序(上)
SQL基础——聚合与排序(上)
86 0
白话Elasticsearch45-深入聚合数据分析之易并行聚合算法,三角选择原则,近似聚合算法
白话Elasticsearch45-深入聚合数据分析之易并行聚合算法,三角选择原则,近似聚合算法
121 0
ES聚合查询详解(四):管道聚合
ES聚合查询详解(四):管道聚合
592 0
ES聚合查询详解(四):管道聚合
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等