Spark操作开窗函数

准备工作:

Spark操作开窗函数_第1张图片

Spark操作开窗函数_第2张图片

 

聚合开窗函数

OVER 关键字表示把聚合函数当成聚合开窗函数而不是聚合函数。
SQL标准允许将所有聚合函数用做聚合开窗函数。

Spark操作开窗函数_第3张图片

OVER(PARTITION BY class)表示对结果集按照 class 进行分区,并且计算当前行
所属的组的聚合计算结果。

Spark操作开窗函数_第4张图片

 

排序开窗函数

row_number() over(order by score) as rownum 表示按score 升序的方式来排序,并得出排序结果的序号

Spark操作开窗函数_第5张图片

 

Spark操作开窗函数_第6张图片

 

 RANK跳跃排序

Spark操作开窗函数_第7张图片

Spark操作开窗函数_第8张图片

 

DENSE_RANK连续排序:

dense_rank() over(order by score) as dense_rank 表示按score 升序的方式来排序,并得出排序结果的排名号。

Spark操作开窗函数_第9张图片

 

NTILE分组排名

ntile(5) over(order by score)as ntile表示按 score 升序的方式来排序,然后 5 等分成5 个组,并显示所在组的序号。

Spark操作开窗函数_第10张图片

你可能感兴趣的:(Spark)