欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Hive如何分組取TopN

小編給大家分享一下Hive如何分組取Top N,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

為企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、營銷型網(wǎng)站建設(shè)、競價托管、品牌運營等營銷獲客服務。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運營團隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認可!

Hive分組取Top N

Hive在0.11.0版本開始加入了row_number、rank、dense_rank分析函數(shù),可以查詢分組排序后的top值

使用規(guī)則:

row_number() over ([partition col1] [order by col2] )

rank() over ( [partition col1] [order by col2] )

dense_rank() over ( [partition col1] [order by col2] )

它們都是根據(jù)col1字段分組,然后對col2字段進行排序,對排序后的每行生成一個行號,這個行號從1開始遞增

col1、col2都可以是多個字段,用','分隔

區(qū)別

1)row_number:不管col2字段的值是否相等,行號一直遞增, 比如:有兩條記錄的值相等,但一個是第一,一個是第二

2)rank:上下兩條記錄的col2相等時,記錄的行號是一樣的,但下一個col2值的行號遞增N(N是重復的次數(shù)),比如:有兩條并列第一,下一個是第三,沒有第二

3)dense_rank:上下兩條記錄的col2相等時,下一個col2值的行號遞增1,  比如:有兩條并列第一,下一個是第二

row_number可以實現(xiàn)分頁查詢

實際操作

創(chuàng)建表

create table t(name string, sub string, score int) row format delimited fields terminated by '\t';

數(shù)據(jù)在附件的a.txt里

a    chinese    98
a    english    90
d    chinese    88
c    english    82
c    math    98
b    math    89
b    chinese    79
z    english    90
z    math    89
z    chinese    80
e    math    99
e    english    87
d    english    90

加載數(shù)據(jù)
load data local inpath '/home/hadoop/hive-example/a.txt' into table tb4;

分組排序

--row_number
select *, row_number() over (partition by sub order by score) as od from t; 

--rank
select *, rank() over (partition by sub order by score) as od from t; 

--dense_ran
select *, dense_rank() over (partition by sub order by score desc) from t;

業(yè)務實例

--統(tǒng)計每個學科的前三名
select * from (select *, row_number() over (partition by sub order by score desc) as od from t ) t where od<=3;

--語文成績是80分的排名是多少
select od from (select *, row_number() over (partition by sub order by score desc) as od from t ) t where sub='chinese' and score=80;

--分頁查詢
select * from (select *, row_number() over () as rn from t) t1 where rn between 1 and 5;

以上是“Hive如何分組取Top N”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:Hive如何分組取TopN
網(wǎng)址分享:http://aaarwkj.com/article16/ihhigg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務器、軟件開發(fā)、用戶體驗、網(wǎng)站建設(shè)手機網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
亚洲激情在线观看一区| 亚洲综合久久五月天| av天堂官网在线人妻| 午夜在线观看欧美福利| 国产美女被狂操到高潮| 国产一区二区在线粉嫩| 超碰免费在线公开97| 一区二区先锋深夜中文字幕| 又爽又色的日本网站| 日韩在线视频一区二区三| 97在线资源视频播放| 一区二区三区欧美影片| 国产日韩欧美一区二区丝袜| 日韩有码一区在线观看| 欧美一级特黄大片做受农村| 人妻少妇被粗大爽av| 俄罗斯少妇毛茸茸的高潮| 亚洲av乱码一区二区三区观影| 亚洲男女内射在线视频| 日韩人妻av免费电影| 中文字幕在线看精品乱码| 精品国产亚洲av未满十八| 91九色在线视频观看| 午夜精品一区二区三区久久| 中文字幕不卡一区在线| 国产av剧情同事肉体秘密| 91狠狠综合久久精品| 日本午夜熟女九色视频| 国产精品亚洲二区三区| 久久免费看少妇高潮av| 欧美在线免费黄片视频| 久久这里只有精品蜜桃| 精品国产乱码一区二区三区| 九九99九九99九九精品在线观看| 中文字幕中出亚洲精品| 日韩欧美高清一区二区三区| 久久91亚洲精品中文字幕| 高潮少妇高潮少妇av| 人人妻人人澡人人爽精品日本| 国产精品大屁股白浆一区二区| 国产情色自拍在线观看|