Hive開窗函式

2022-07-08 23:06:24 字數 841 閱讀 7538

show functions;
desc function extended upper;
current row #當前行

n preceding #向前取第n行

n following #向後取第n行

unbounded preceding #首行

unbounded following #尾行

order by asc/desc #排序

partition by #分組

lag(now_row,n,defaul_value) #now向前取第n行

lead(now_row,n,default_value) #now向後取第n行

ntile(n) #資料均勻分組

percent_rank() #顯示目前資料量佔比情況

rank() #名次相同會重複,總數不變

dense_rank() #名次相同會重複,總數減少

row_number() #名次相同時根據原表名次排名

current_data()	#當前日期

data_add(start_date,num_days) #計算幾天後的日期

data_sub(start_date,num_days) #計算幾天前的日期

date_diff(date_1,date_2) #計算時間天數差

Hive 開窗函式

普通聚合函式聚合的行集是組,開窗函式聚合的行集是視窗。因此,普通聚合函式每組 group by 只有乙個返回值,而開窗函式則可以為視窗中的每行都返回乙個值。分析函式 如 sum max row number 視窗子句 over函式 over partition by column n order b...

hive開窗函式總結

1,sum 函式 注 沒有order by,不僅分區內沒有排序,sum 計算的pv也是整個分割槽的pv。max 函式無論有沒有order by 都是計算整個分割槽的最大值 2,ntile 函式 ntile n 用於將分組資料按照順序切分成n片,返回當前切片值 注 如果切片不均勻,預設增加第乙個切片的...

Hive 開窗函式 cume dist

題目 獲取每個班級中,以數學成績排序,取後20 成績從低到高 的學生資訊 1 準備工作 資料 studentid,classid course,score 001,001,math,15 001,002,math,20 001,003,math,35 001,004,math,40 001,005,...