hive的分桶概念和數據導入

hive分桶表概念

hive的分桶概念和數據導入

分區表應用

分桶表是將大表化成小表。

大表和小表之間的連接:是通過兩個表相同的列使用map端連接。

將桶中的數據按某列來排序會 提高查詢的效率。

分桶適用於取樣和join操作,且提高了他們的查詢效率。

數據導入注意事項

但是數據的正確導入表中要用戶自己來保證。因為talbe中信息只是元數據,不影響實際填充表的命令。

分區分桶與關係型數據庫的分庫分表不同。

Hive中的分桶,實際就是指的MapReduce中的分區。根據Reduce的數量,分成不同個數的文件。

分桶表是如何導入數據的

分桶就是按照列值通過hash計算後進行了數據分表存儲。分桶的列值都相同的話數據只導入到第一個桶中。分桶列的值不同才會導入到所有的桶中。

分桶表的join操作

實際上是進行相同列值經過hash計算後,根據列值進行了數據的分桶存儲。

如果兩個分桶表是按照相同列值分桶的,那麼進行join的時候會只查詢該列值所在的桶,也就是兩個分桶表中桶和桶(小表和小表)的join 。


分享到:


相關文章: