通过本文主要向大家介绍了创建分桶等相关知识,希望本文的分享对您有所帮助
创建分桶
hive时针对某一列进行分桶,提高查询效率
hive采用对列值哈希hash,除以桶个数求余的方式,决定记录存放位置
clustered by(col_name)
sorted by(col_name)
into num buckets
根据表分桶
create table tb_name (name string,age int)
CLUSTERED BY (name)
INTO 20 BUCKETS
根据分区分桶
create table tb_name(name string,age 20)
PARTITIONED BY (sex int)
clustered by (name)
into 30 buckets;
加载
- 一个桶就是一个文件
- load方式不是把数据放在某一文件中,而是复制或剪切的方式直接导入
查询数据->找相应桶->load数据文件->结果 - 故采用insert into table的方式将数据插入到不同的桶中。