hive分桶表概念
分區表應用
分桶表是將大表化成小表。
大表和小表之間的連接:是通過兩個表相同的列使用map端連接。
將桶中的數據按某列來排序會 提高查詢的效率。
分桶適用於取樣和join操作,且提高了他們的查詢效率。
數據導入注意事項
但是數據的正確導入表中要用戶自己來保證。因為talbe中信息只是元數據,不影響實際填充表的命令。
分區分桶與關係型數據庫的分庫分表不同。
Hive中的分桶,實際就是指的MapReduce中的分區。根據Reduce的數量,分成不同個數的文件。
分桶表是如何導入數據的
分桶就是按照列值通過hash計算後進行了數據分表存儲。分桶的列值都相同的話數據只導入到第一個桶中。分桶列的值不同才會導入到所有的桶中。
分桶表的join操作
實際上是進行相同列值經過hash計算後,根據列值進行了數據的分桶存儲。
如果兩個分桶表是按照相同列值分桶的,那麼進行join的時候會只查詢該列值所在的桶,也就是兩個分桶表中桶和桶(小表和小表)的join 。
閱讀更多 熱忱先生 的文章