一、查看分区

  • 查看分区
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);