桶表也是一种用于优化查询而设计的表类型。
创建桶表时,需指定桶的个数、分桶的依据字段,hive会自动将数据分桶存储。
查询时,只需要遍历一个桶里的数据,或者遍历部分桶,就可以提高查询效率。
--创建线索表
create table dealer_leads
(
leads_id string,
dealer_id string,
user_id string,
user_phone string,
user_name string,
create_time string
)
clustered by (dealer_id) sorted by (leads_id) into 10 buckets
row format delimited fields terminated by '\t'
stored as textfile;
clustered by:根据dealer_id的值进行哈希后模除分桶个数,确保相同dealer_id数据放入同一个桶中
sorted by:指定桶中的数据以哪个字段进行排序
into 10 buckets:指定分桶个数