Hive的分桶表2020-12-02

hive的分桶表

分区表:

分区表是将数据分文件夹管理 , 减少数据扫描的文件范围 直接从对应文件夹中读取数据

分桶表:

对join 对查询的优化 将数据按照指定的字段的规则分文件

------------user表------------
1001	ss1
1002	ss2
1003	ss3
1004	ss4
1005	ss5
1006	ss6
1007	ss7
1008	ss8
1009	ss9
1010	ss10
1011	ss11
1012	ss12
1013	ss13
1014	ss14
1015	ss15
1016	ss16

分桶表步骤:

1 创建普通表 导入数据
2 创建分桶表

create table buck_stu(
id int, 
name string)
clustered by(id) 
into 3 buckets
row format delimited fields terminated by '\t';

查看表结构

desc formatted buck_demo;

3 开启分桶功能

set hive.enforce.bucketing=true; – 开启分桶 set
mapreduce.job.reduces=-1;

4 使用insert into的方式导入数据 到 分桶表中

create table buck_stu( id int, name string) clustered by(id) into 3
buckets row format delimited fields terminated by ‘\t’;

分桶表抽样查询

select * from buck_stu tablesample(bucket 1 out of 3 on id); ------随机取三分之一数据-----
select * from buck_stu tablesample(bucket 2 out of 3 on id);
select * from buck_stu tablesample(bucket 3 out of 3 on id);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值