Spark操作開窗函數

準備工作:

 

聚合開窗函數

OVER 關鍵字表示把聚合函數當成聚合開窗函數而不是聚合函數。
SQL標準允許將所有聚合函數用做聚合開窗函數。

OVER(PARTITION BY class)表示對結果集按照 class 進行分區,並且計算當前行
所屬的組的聚合計算結果。

 

排序開窗函數

row_number() over(order by score) as rownum 表示按score 升序的方式來排序,並得出排序結果的序號

 

 

 RANK跳躍排序

 

DENSE_RANK連續排序:

dense_rank() over(order by score) as dense_rank 表示按score 升序的方式來排序,並得出排序結果的排名號。

 

NTILE分組排名

ntile(5) over(order by score)as ntile表示按 score 升序的方式來排序,然後 5 等分成5 個組,並顯示所在組的序號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章