HIVE表索引奔滑,分區(qū)和分桶的區(qū)別

1.索引

???Hive支持索引,但是Hive的索引與關(guān)系型數(shù)據(jù)庫中的索引并不相同合陵,比如,Hive不支持主鍵或者外鍵澄阳。
???Hive索引可以建立在表中的某些列上拥知,以提升一些操作的效率,例如減少M(fèi)apReduce任務(wù)中需要讀取的數(shù)據(jù)塊的數(shù)量碎赢。
???為什么要?jiǎng)?chuàng)建索引低剔?Hive的索引目的是提高Hive表指定列的查詢速度。沒有索引時(shí),類似'WHERE tab1.col1 = 10' 的查詢襟齿,Hive會(huì)加載整張表或分區(qū)姻锁,然后處理所有的rows,但是如果在字段col1上面存在索引時(shí)蕊唐,那么只會(huì)加載和處理文件的一部分屋摔。
???與其他傳統(tǒng)數(shù)據(jù)庫一樣,增加索引在提升查詢速度時(shí)替梨,會(huì)消耗額外資源去創(chuàng)建索引表和需要更多的磁盤空間存儲(chǔ)索引。

2.分區(qū)

???為了對表進(jìn)行合理的管理以及提高查詢效率装黑,Hive可以將表組織成“分區(qū)”副瀑。
分區(qū)是表的部分列的集合,可以為頻繁使用的數(shù)據(jù)建立分區(qū)恋谭,這樣查找分區(qū)中的數(shù)據(jù)時(shí)就不需要掃描全表糠睡,這對于提高查找效率很有幫助。
???分區(qū)是一種根據(jù)“分區(qū)列”(partition column)的值對表進(jìn)行粗略劃分的機(jī)制疚颊。Hive中每個(gè)分區(qū)對應(yīng)著表很多的子目錄狈孔,將所有的數(shù)據(jù)按照分區(qū)列放入到不同的子目錄中去。
???為什么要分區(qū)材义?龐大的數(shù)據(jù)集可能需要耗費(fèi)大量的時(shí)間去處理均抽。在許多場景下,可以通過分區(qū)的方法減少每一次掃描總數(shù)據(jù)量其掂,這種做法可以顯著地改善性能油挥。
???數(shù)據(jù)會(huì)依照單個(gè)或多個(gè)列進(jìn)行分區(qū),通常按照時(shí)間款熬、地域或者是商業(yè)維度進(jìn)行分區(qū)深寥。為了達(dá)到性能表現(xiàn)的一致性,對不同列的劃分應(yīng)該讓數(shù)據(jù)盡可能均勻分布贤牛。最好的情況下惋鹅,分區(qū)的劃分條件總是能夠?qū)?yīng)where語句的部分查詢條件。
???Hive的分區(qū)使用HDFS的子目錄功能實(shí)現(xiàn)殉簸。每一個(gè)子目錄包含了分區(qū)對應(yīng)的列名和每一列的值闰集。但是由于HDFS并不支持大量的子目錄,這也給分區(qū)的使用帶來了限制喂链。我們有必要對表中的分區(qū)數(shù)量進(jìn)行預(yù)估返十,從而避免因?yàn)榉謪^(qū)數(shù)量過大帶來一系列問題。
???Hive查詢通常使用分區(qū)的列作為查詢條件椭微。這樣的做法可以指定MapReduce任務(wù)在HDFS中指定的子目錄下完成掃描的工作洞坑。HDFS的文件目錄結(jié)構(gòu)可以像索引一樣高效利用。

3.分桶

???桶是通過對指定列進(jìn)行哈希計(jì)算來實(shí)現(xiàn)的蝇率,通過哈希值將一個(gè)列名下的數(shù)據(jù)切分為一組桶迟杂,并使每個(gè)桶對應(yīng)于該列名下的一個(gè)存儲(chǔ)文件刽沾。
???為什么要分桶?在分區(qū)數(shù)量過于龐大以至于可能導(dǎo)致文件系統(tǒng)崩潰時(shí)排拷,我們就需要使用分桶來解決問題了侧漓。
???分區(qū)中的數(shù)據(jù)可以被進(jìn)一步拆分成桶,不同于分區(qū)對列直接進(jìn)行拆分监氢,桶往往使用列的哈希值對數(shù)據(jù)打散布蔗,并分發(fā)到各個(gè)不同的桶中從而完成數(shù)據(jù)的分桶過程。
???hive使用對分桶所用的值進(jìn)行hash浪腐,并用hash結(jié)果除以桶的個(gè)數(shù)做取余運(yùn)算的方式來分桶纵揍,保證了每個(gè)桶中都有數(shù)據(jù),但每個(gè)桶中的數(shù)據(jù)條數(shù)不一定相等议街。
???哈希函數(shù)的選擇依賴于桶操作所針對的列的數(shù)據(jù)類型泽谨。除了數(shù)據(jù)采樣,桶操作也可以用來實(shí)現(xiàn)高效的Map端連接操作特漩。
???在數(shù)據(jù)量足夠大的情況下吧雹,分桶比分區(qū),更高的查詢效率涂身。

4.總結(jié)

???索引和分區(qū)最大的區(qū)別就是索引不分割數(shù)據(jù)庫雄卷,分區(qū)分割數(shù)據(jù)庫。
???索引其實(shí)就是拿額外的存儲(chǔ)空間換查詢時(shí)間访得,但分區(qū)已經(jīng)將整個(gè)大數(shù)據(jù)庫按照分區(qū)列拆分成多個(gè)小數(shù)據(jù)庫了龙亲。
???分區(qū)和分桶最大的區(qū)別就是分桶隨機(jī)分割數(shù)據(jù)庫,分區(qū)是非隨機(jī)分割數(shù)據(jù)庫悍抑。因?yàn)榉滞笆前凑樟械墓:瘮?shù)進(jìn)行分割的鳄炉,相對比較平均;而分區(qū)是按照列的值來進(jìn)行分割的搜骡,容易造成數(shù)據(jù)傾斜拂盯。
???其次兩者的另一個(gè)區(qū)別就是分桶是對應(yīng)不同的文件(細(xì)粒度),分區(qū)是對應(yīng)不同的文件夾(粗粒度)记靡。
???普通表(外部表谈竿、內(nèi)部表)、分區(qū)表這三個(gè)都是對應(yīng)HDFS上的目錄摸吠,桶表對應(yīng)是目錄里的文件空凸。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市寸痢,隨后出現(xiàn)的幾起案子呀洲,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件道逗,死亡現(xiàn)場離奇詭異兵罢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)滓窍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進(jìn)店門卖词,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吏夯,你說我怎么就攤上這事此蜈。” “怎么了噪生?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵舶替,是天一觀的道長。 經(jīng)常有香客問我杠园,道長,這世上最難降的妖魔是什么舔庶? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任抛蚁,我火速辦了婚禮,結(jié)果婚禮上惕橙,老公的妹妹穿的比我還像新娘瞧甩。我一直安慰自己,他們只是感情好弥鹦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布肚逸。 她就那樣靜靜地躺著,像睡著了一般彬坏。 火紅的嫁衣襯著肌膚如雪朦促。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天栓始,我揣著相機(jī)與錄音务冕,去河邊找鬼。 笑死幻赚,一個(gè)胖子當(dāng)著我的面吹牛禀忆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播落恼,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼箩退,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了佳谦?” 一聲冷哼從身側(cè)響起戴涝,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后喊括,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胧瓜,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年郑什,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了府喳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,764評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蘑拯,死狀恐怖钝满,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情申窘,我是刑警寧澤弯蚜,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站剃法,受9級特大地震影響碎捺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜贷洲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一收厨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧优构,春花似錦诵叁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至彪腔,卻和暖如春侥锦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背漫仆。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工捎拯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盲厌。 一個(gè)月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓署照,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吗浩。 傳聞我的和親對象是個(gè)殘疾皇子建芙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評論 2 354

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