一、查看分区
- 查看分区
show partitions table_name;
/*
update_date=20230305
update_date=20230312
update_date=20230319
*/
- 查看分区表描述
desc table_name partition(update_date=20230305);
- 查看外部表,特定指定的位置
desc extended table_name partition(update_date=20230305);
二、添加分区
alter table table_name add partition(update_date=20230325);
alter table table_name add if not exists partition(update_date=20230325) location '/table_name/$dt';
三、删除分区
Hive
中,想要删除表中部分数据不能使用 delete from table_name where a = 100
的SQL语法。
但是可以整个分区删除,具体语法如下。
- 删除单个分区
alter table table_name drop PARTITION(update_date = 20230320);
alter table table_name drop if exists partition(update_date=20230319);
alter table table_name drop if exists partition(update_date=20230319, hour='$hour');
- 删除多个分区
alter table table_name drop PARTITION(update_date >= 20230310);
alter table table_name drop PARTITION(update_date >= 20230310, update_date <= 20230320);