溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hive中的分區(qū)和桶是什么意思

發(fā)布時間:2021-07-29 19:19:08 來源:億速云 閱讀:321 作者:chen 欄目:云計算

本篇內(nèi)容主要講解“ Hive中的分區(qū)和桶是什么意思”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“ Hive中的分區(qū)和桶是什么意思”吧!

hive中的分區(qū)和桶


     Hive 把表組織成“分區(qū)” Partition。 這是一種根據(jù)“分區(qū)列”(Partition column,如日期)的值對表進(jìn)行粗略劃分的機(jī)制,使用分區(qū)可以加快數(shù)據(jù)分片(Slice)的查詢速度


     表和分區(qū)可以進(jìn)一步分為“桶”(Bucket)它會為數(shù)據(jù)提供額外的結(jié)果以獲得更高效率的查詢處理,例如,通過根據(jù)用戶ID來劃分桶,我們可以早所有用戶集合的隨機(jī)樣本上快速計算基于用戶的查詢。



   下面以日志文件進(jìn)行考慮,日志文件中的每條記錄包含一個分區(qū),我們一般根據(jù)日期來進(jìn)行分區(qū),同一天的記錄會放在相同的區(qū)中。

   分區(qū)是在創(chuàng)建表的時候用partition by 子句定義的,該子句需要定義列的列表

   桶的話,可以把該表分成規(guī)定的幾個部分,每個部分是根據(jù)制定的列取模來決定的  下面我們就是根據(jù)ts來對4取模決定桶的

如下:

Hive中的分區(qū)和桶是什么意思


在我們把數(shù)據(jù)加載到分區(qū)表的時候,要顯示的指定分區(qū)值,比如我們在目錄下面有一個文件   20140418GB.txt   里面有內(nèi)容


Hive中的分區(qū)和桶是什么意思

我們將該數(shù)據(jù)加載到表logs中

Hive中的分區(qū)和桶是什么意思

Hive中的分區(qū)和桶是什么意思

Hive中的分區(qū)和桶是什么意思

現(xiàn)在來查看HDFS結(jié)構(gòu)和里面的數(shù)據(jù)

我們在eclipse中查看

Hive中的分區(qū)和桶是什么意思


但是奇怪的是,進(jìn)去里面的目錄我們可以看到

Hive中的分區(qū)和桶是什么意思

這里并沒有出現(xiàn)分桶,然后我們進(jìn)行數(shù)據(jù)查找,以分桶的形式

Hive中的分區(qū)和桶是什么意思


結(jié)果如下

Hive中的分區(qū)和桶是什么意思

這個結(jié)果包括了所有三個文件中,符合要求的記錄

我曾單獨的使用過分桶,實驗顯示,如果單獨分桶那么將會看見所分桶的各片,但是分區(qū)和分桶一起來的話,卻只能看見分區(qū)的目錄


我們是不是可以這樣理解,當(dāng)分區(qū)和分桶一起來時,分好的區(qū)是主流,我們可以看到分區(qū)中的目錄,但是分的桶,我們不再看見,結(jié)構(gòu)存在,只是不顯示

而我們進(jìn)行查找時,就可以用上了


到此,相信大家對“ Hive中的分區(qū)和桶是什么意思”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI