hive 窗口函数使用
生活随笔
收集整理的這篇文章主要介紹了
hive 窗口函数使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考教程
窗口函數的使用:(over就是使用窗口函數)
具體語法如下:over (partition by xxx order by xxx rows between xxx and xxx?)
設置窗口大小:rows between xx and xx
preceding:往前 3 precedingfollowing:往后 3 followingcurrent row:當前行unbounded:起點unbounded preceding:從前面的起點unbouned following :表示到后面的終點#先前3個窗口over(partition by xx order by xxx rows between 3 preceding and current row)#向后3個窗口over(partition by xx order by xxx rows between 3 following and current row)或者over(partition by xx order by xxx rows between current row and 3 following)#開始到當前組over(partition by xx order by xxx row between?unbounded preceding and current row)#當前到結束over(partition by xx order by xxx row between??current row and? unbounded following)設定好窗口之后,就是各種函數的使用
#sum,avg,min,max 函數#row_number() 12345 #rank() 12234 #dense_rank() 122345#ntile(x):x表示分組的組數# percent_rank() :row_number-1/total_number-1cume_dist : row_number/total_number# lead() leg() first_value() last_value()參考教程#聚合 grouping sets with rollup with cube
#()表示所有
group by a,b,c grouping sets((a,b,c),(a,b),())
# with rollup 相當于((a,b,c),(a,b),(a),())
group by a,b,c with rollup
#with cube 相單與 ((a),(b),(c),(a,b),(a,c),(b,c),(a,b,c),())
參考教程
# 并集#并集并去重union [distinct]union all#交集intersect [distinct]intersect all#補集exceptexcept [all]minusminus [all]參考教程.
語法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias (',' columnAlias)
總結
以上是生活随笔為你收集整理的hive 窗口函数使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 不允许保存修改_解决SQL
- 下一篇: HDFView使用