您的位置:首页 > 其它

hive--桶

2016-05-10 16:52 120 查看
桶:

set hive.enforce.bucketing = true; 使hive知道用表定义中声明的数量来创建桶

create table bucketed_wyp (id int, name string, age int, tel string) clustered by (id) sorted by (id asc) into 4 buckets;
<!--插入是一个mp任务-->
insert overwrite table bucketed_wyp select * from wyp;
dfs -ls /user/hive/warehouse/bucketed_wyp;




(这里数据之间的tab消失了,但并不是真的消失了)

select * from bucketed_wyp tablesample(bucket 2 out of 4 on id);




(这也是一个MR任务,而且取样返回的是2/4的数据)

select * from bucketed_wyp tablesample(bucket 2 out of 4 on rand());

使用rand()之后,返回随机,但是使用了桶之后,扫描的是一部分,不使用桶,扫描的是所有的表。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hive