本文主要是介绍hive-分桶-索引(初篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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
这篇文件未完成待续哦 ......
这篇关于hive-分桶-索引(初篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!