📅  最后修改于: 2020-12-03 03:50:35             🧑  作者: Mango
Hive中的存储桶是一种数据组织技术。它类似于Hive中的分区功能,具有将功能强大的功能将大型数据集划分为更易于管理的部分(称为存储桶)的功能。因此,当分区的实现变得困难时,我们可以在Hive中使用存储桶。但是,我们也可以在存储分区中进一步划分分区。
hive> use showbucket;
hive> create table emp_demo (Id int, Name string , Salary float)
row format delimited
fields terminated by ',' ;
hive> load data local inpath '/home/codegyani/hive/emp_details' into table emp_demo;
hive> set hive.enforce.bucketing = true;
hive> create table emp_bucket(Id int, Name string , Salary float)
clustered by (Id) into 3 buckets
row format delimited
fields terminated by ',' ;
hive> insert overwrite table emp_bucket select * from emp_demo;
根据哈希函数:
6%3 = 0
3%3 = 0
因此,这些列存储在存储区0中。
根据哈希函数:
7%3 = 1
4%3 = 1
1%3 = 1
因此,这些列存储在存储区1中。
根据哈希函数:
8%3 = 2
5%3 = 2
2%3 = 2
因此,这些列存储在存储区2中。