Hive的数据存储(桶表)

Hive的数据存储(桶表)

桶表

  • 桶表是对数据进行哈希取值,然后放到不同文件中存储。

hadoop笔记之Hive的数据存储(桶表)-LMLPHP

比如说,创建三个桶,而创建桶的原则可以按照左边表中学生的名字来创建对应的桶。这样子把左边的数据存到桶里面来的时候可以把学生名字经过哈希运算,把相同哈希运算的值的列存放在同一个桶当中。比如Tom、Jerry、Scott经运算以后它们的哈希值是一样的,那么这三个人的信息就会存放在相同的一个桶里面。

有了桶表以后,就能够降低系统的文件块,从而提高查询速度

○ 如何创建桶表?(用名字进行创建5个桶)

create table bucket_table1
(sid int,sname string,age int)
clustered by(sname) into 5 buckets;

查看一下表的结构

desc bucket_table1;
sid int
sname string
age int

跟一般的表是一样的,但是放入数据的时候相同哈希的值会放到同一个桶里去

这就是桶表

05-06 12:30