hive的分桶概念和数据导入

hive分桶表概念

hive的分桶概念和数据导入

分区表应用

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

大表和小表之间的连接:是通过两个表相同的列使用map端连接。

将桶中的数据按某列来排序会 提高查询的效率。

分桶适用于取样和join操作,且提高了他们的查询效率。

数据导入注意事项

但是数据的正确导入表中要用户自己来保证。因为talbe中信息只是元数据,不影响实际填充表的命令。

分区分桶与关系型数据库的分库分表不同。

Hive中的分桶,实际就是指的MapReduce中的分区。根据Reduce的数量,分成不同个数的文件。

分桶表是如何导入数据的

分桶就是按照列值通过hash计算后进行了数据分表存储。分桶的列值都相同的话数据只导入到第一个桶中。分桶列的值不同才会导入到所有的桶中。

分桶表的join操作

实际上是进行相同列值经过hash计算后,根据列值进行了数据的分桶存储。

如果两个分桶表是按照相同列值分桶的,那么进行join的时候会只查询该列值所在的桶,也就是两个分桶表中桶和桶(小表和小表)的join 。


分享到:


相關文章: