高级函数

1.炸裂函数
UDTF

通常是将数组或者集合中或者结构体(涉及到数据类型-------复杂数据类型)中的元素单个输出

特点:接收一行数据,输出一行或多行数据

2.窗口函数/开窗函数

概念:能为每行数据划分一个窗口,然后对窗口范围内的数据进行计算,最后将计算结果返回给该行数据

包括两部分:窗口范围和函数

窗口范围:用于定义计算范围(通俗讲就是几行到当前行或者哪一个值到当前值)

函数:计算逻辑(函数包括求和、平均值、统计个数等)

窗口范围:

分类:

基于行 (要求每行数据的窗口为上一行到当前行)

基于值 (当前值-1到当前值)

分区:

可以指定分区字段

常用窗口函数

1)聚合函数

max:最大值

min:最小值

sum:求和

avg:平均值

count:计数

2)跨行取值函数

lead和lag:获取当前行的上/下某行、某个字段的值

不支持自定义窗口

标签: none

添加新评论