hive的分区表和分桶表的初步认识

静态分区表

单分区
必须在表定义时指定对应partition字段
单分区建表语句hive的分区表和分桶表的初步认识_第1张图片
上传数据
在这里插入图片描述
双分区
双分区创建语句
hive的分区表和分桶表的初步认识_第2张图片
增加分区

alter table fei add partition(dt=10,hour=40);

也就是说添加分区的时候不能直接添加,而是需要将原来的分区也要包含其中,完成相应的排序
删除分区
alter table tablename drop partition (sex='boy')
注:删除分区的时候,会将所有存在的分区都删除

动态分区表

1、修改权限
set hive.exec.dynamic.partiton=true //开启动态分区
2、修改默认状态
set hive.exec.dynamic.partiton.mode=nostrict //默认strict。至少有一个静态分区
跟静态分区创建一样
动态写入数据

from psn21 //已经存在的表格并且要有数据
insert overwrite table pas22 partiton (age,sex)
select * distribute by age,sex 

分桶表

开启分桶

set hive.enforce.bucketing=true

创建分桶的操作
hive的分区表和分桶表的初步认识_第3张图片
加载数据

insert into  table psnbucket select id,name,age from psn31

抽样

select * from bucket_table tablesample(bucket 1 out of 4 on age)

hive的分区表和分桶表的初步认识_第4张图片
这里就好了

你可能感兴趣的:(hive的分区表和分桶表的初步认识)