您好,登錄后才能下訂單哦!
本篇內容主要講解“ Hive中的分區和桶是什么意思”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ Hive中的分區和桶是什么意思”吧!
hive中的分區和桶
Hive 把表組織成“分區” Partition。 這是一種根據“分區列”(Partition column,如日期)的值對表進行粗略劃分的機制,使用分區可以加快數據分片(Slice)的查詢速度
表和分區可以進一步分為“桶”(Bucket)它會為數據提供額外的結果以獲得更高效率的查詢處理,例如,通過根據用戶ID來劃分桶,我們可以早所有用戶集合的隨機樣本上快速計算基于用戶的查詢。
下面以日志文件進行考慮,日志文件中的每條記錄包含一個分區,我們一般根據日期來進行分區,同一天的記錄會放在相同的區中。
分區是在創建表的時候用partition by 子句定義的,該子句需要定義列的列表
桶的話,可以把該表分成規定的幾個部分,每個部分是根據制定的列取模來決定的 下面我們就是根據ts來對4取模決定桶的
如下:
在我們把數據加載到分區表的時候,要顯示的指定分區值,比如我們在目錄下面有一個文件 20140418GB.txt 里面有內容
我們將該數據加載到表logs中
現在來查看HDFS結構和里面的數據
我們在eclipse中查看
但是奇怪的是,進去里面的目錄我們可以看到
這里并沒有出現分桶,然后我們進行數據查找,以分桶的形式
結果如下
這個結果包括了所有三個文件中,符合要求的記錄
我曾單獨的使用過分桶,實驗顯示,如果單獨分桶那么將會看見所分桶的各片,但是分區和分桶一起來的話,卻只能看見分區的目錄
我們是不是可以這樣理解,當分區和分桶一起來時,分好的區是主流,我們可以看到分區中的目錄,但是分的桶,我們不再看見,結構存在,只是不顯示
而我們進行查找時,就可以用上了
到此,相信大家對“ Hive中的分區和桶是什么意思”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。