HIVE 分桶模式
1.分桶之前要打开 hive.enforce.bucketiong=true;
2.分桶处理的对象必须是有,有效的列 , 比如我分了三个桶,针对id , 那么就是取id的hash值 , 然后分别放入三个不同之中 ,注意
-----不能指定数据存放在哪个桶 , 他自己会根据哪个列判断 , 你只需要保证传入的数据具有哪个列就好了.
其实有点类似于hashmap分区
1.创建分桶表
create table yask(id int,name string) clustered by(id) Row Format Delimited Fields Terminated By ‘\t‘;
注意: 这里面id是从前面拿出来得到 , 和分区独立开不一样
2.插入数据
这里面插入数据是从select * from 里面插入的 , 而不是load进来的,因为需要指定列作为hash的依据
inset overwrite table yask select * from userinfo;
查看分桶信息
hive> dfs -ls /usr/hive/warehouse/yask
查询分桶的数据
select * from yask tablesample(bucket 1 out of 3 on id); 要制定关键字tablesample
相关推荐
archive 2020-07-30
成长之路 2020-07-28
eternityzzy 2020-07-19
taisenki 2020-07-05
tugangkai 2020-07-05
SignalDu 2020-07-05
zlsdmx 2020-07-05
tomson 2020-07-05
tugangkai 2020-07-04
tomson 2020-07-05
Zhangdragonfly 2020-06-28
genshengxiao 2020-06-26
成长之路 2020-06-26
tomson 2020-06-26
蜗牛之窝 2020-06-26
成长之路 2020-06-25