hvie - 分桶
-
创建分桶表之前要先设置hive允许进行强制分桶配置
set hive.enforce.bucketing=true
-
创建分桶表
create table tmp_bucket(id int,name String) clustered by (id) into 4 buckets
-
建表
-
其中x表示分几个桶进行抽样,y表示间隔几个桶进行一次分桶
select columns from table tablesample(bucket x out of y on column);
-
进行抽样
select id,name from tmp_bucket tablesample(bucket 1 out of 2 on id);
-
像分桶表加载数据
insert overwrite table tmp_bucket select id,name from source_data; # 其中的source_data 表中的数据一定是提前分好桶的
-
查询分桶表 - > 高效抽样 , 通过桶号进行抽样
select * from tmp_bucket where name in (select name from tmp_bucket distribute by rand() into 3 butkets);
hive-索引
-
刚创建完hive的索引表是数据的, 需要生成索引数据
alter index 索引名称 on table_name rebuild;
-
查看索引
show formatted index on table_name
这篇文件未完成待续哦 ......