hive排序總結(jié)

HIVE 排序總結(jié)

ORDER BY

Hive中的order by語句用于對(duì)查詢結(jié)果集執(zhí)行一個(gè)全局排序锦爵。這也就是說會(huì)有一個(gè)所有的數(shù)據(jù)都通過特格reducer進(jìn)行處理的過程狭莱。對(duì)于大數(shù)據(jù)集,這個(gè)過程可能消耗太過漫長(zhǎng)的時(shí)間來執(zhí)行皆愉。

使用語法

select * from table order by id desc limit 5;

在嚴(yán)格模式下必須使用limit限定條件嗜价,因?yàn)槿绻麛?shù)據(jù)量特別大的話會(huì)出現(xiàn)無法輸出結(jié)果的情況,如果驚醒limit n限定幕庐,那么只有 (n * map number)條記錄進(jìn)行處理久锥。

設(shè)置hive MapReduce模式

set hive.mapred.mode = nonstrict;   // 設(shè)置非嚴(yán)格模式,默認(rèn)情況下就是非嚴(yán)格模式
set hive.mapred.mode = strict ;     // 設(shè)置為嚴(yán)格模式

SORT BY

sort by不是全局排序异剥,其只會(huì)在每個(gè)reduce中對(duì)數(shù)據(jù)進(jìn)行排序瑟由,也就是執(zhí)行一個(gè)局部排序過程。這可以保證每個(gè)reduce的輸出數(shù)據(jù)都是有序的(但并非全局有序)冤寿。這樣可以提高后面進(jìn)行的全局排序的效率歹苦。
sort by不受hive.mapred.mode是否為strict的影響绿鸣。
使用sort by你可以通過指定執(zhí)行的reduce個(gè)數(shù)(set mapred.reduce.tasks=<number>)對(duì)輸出的數(shù)據(jù)再執(zhí)行歸并排序,既可以得到全部結(jié)果暂氯。

使用語法

select s.ymd, s.ymbol, s.price from stocks s sort by s.ymd ASC, s.symbol DESC;

總結(jié)如果設(shè)置的reduce個(gè)數(shù)為1的話那么sort by 語句和order by語句輸出的結(jié)果就一樣潮模。

DISTRIBUTE BY

DISTRIBUTE BY控制map的輸出在reducer中是如何劃分的。MapReduce job中傳輸?shù)乃袛?shù)據(jù)都是 按照key/value對(duì)的形式進(jìn)行組織的痴施,因此Hive在將用戶的查詢語句轉(zhuǎn)換成MapReduce job時(shí)擎厢,其必須在內(nèi)部使用這個(gè)功能。

默認(rèn)情況下辣吃,MapRecude計(jì)算框架會(huì)依據(jù)map輸入的鍵計(jì)算相應(yīng)的哈希值动遭,然后按照得到的hash值將內(nèi)容分發(fā)到多個(gè)reduce中去,不過當(dāng)使用sort by時(shí)神得,不同的reducer的輸出會(huì)有明顯的重疊厘惦,至少對(duì)于排列順序而言是這樣的,即使每個(gè)reducer的輸出的數(shù)據(jù)都是有序的哩簿。

加入我們希望具有相同的股票交易碼的數(shù)據(jù)在一起處理宵蕉,那么我們可以使用DISTRIBUTE BY來保證具有相同股票交易碼的記錄會(huì)分發(fā) 到同一個(gè)reducer中進(jìn)行處理,然后使用sort by來按照 我們的期望對(duì)數(shù)據(jù)進(jìn)行排序节榜。

使用方法

select s.ymd, s.ymbol, s.price from stocks s DISTRIBUTE BY s.ymbol sort by s.symbol ASC;

注意:Hive要求DISTRIBUTE BY 語句要寫在sort by語句之前羡玛。

CLUSTER BY

CLUSTER BY的功能就是DISTRIBUTE BY 和SORT BY相結(jié)合,如下語句等效:

select cid , price from orders DISTRIBUTE BY cid SORT BY cid ;
select cid , price from orders CLUSTER BY cid ;

注意:被cluster by指定列只能呢按照降序進(jìn)行排列宗苍,不能指定asc和desc稼稿。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市讳窟,隨后出現(xiàn)的幾起案子让歼,更是在濱河造成了極大的恐慌,老刑警劉巖丽啡,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谋右,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡碌上,警方通過查閱死者的電腦和手機(jī)倚评,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馏予,“玉大人,你說我怎么就攤上這事盔性∠忌ィ” “怎么了斥铺?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵捣作,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)掂之,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任独旷,我火速辦了婚禮余赢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘愕难。我一直安慰自己早龟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布猫缭。 她就那樣靜靜地躺著葱弟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪猜丹。 梳的紋絲不亂的頭發(fā)上芝加,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音射窒,去河邊找鬼藏杖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛脉顿,可吹牛的內(nèi)容都是我干的制市。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼弊予,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼祥楣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起汉柒,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤误褪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后碾褂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兽间,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年正塌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嘀略。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乓诽,死狀恐怖帜羊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鸠天,我是刑警寧澤讼育,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響奶段,放射性物質(zhì)發(fā)生泄漏饥瓷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一痹籍、第九天 我趴在偏房一處隱蔽的房頂上張望呢铆。 院中可真熱鬧,春花似錦蹲缠、人聲如沸棺克。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逆航。三九已至,卻和暖如春渔肩,著一層夾襖步出監(jiān)牢的瞬間因俐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工周偎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抹剩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓蓉坎,卻偏偏與公主長(zhǎng)得像澳眷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蛉艾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容