Hive分区和分桶

分区:
根据某一列进行进行划分存储,常用的有时间分区;
查询数据时只需要扫描特定的分区数据,不需要全盘扫描,节省时间,
方便数据归档和清理

创建分区表
create table table_name(
col1 int,
col2 string
)
partition by (dt string,country string);

插入分区
insert into table_name partition (dt='2024-06-19',country='china')
values(1,'data1'),(2,data2);

修改分区
alter table table_name partition ()
删除分区
alter table table_name drop partition(dt='2024-06-18');

分桶:
将表数据按照哈希函数的结果进行划分存储,将数据均匀分不到桶中,提高了查询的并行度和性能。
支持随机抽样

创建分桶

create table bucket_table_name(
col1 int,
col2 string
)
clustered by (col1) into 4 buckets
sorted by (col2);

插入数据
insert overwrite table bucket_table_name
select cols,col2
from table_name;

查询分桶数据
select *
from
bucket_table_name
where col1=1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值