添加分区 alter table user_bhv add if not exists partition (month="2020-03");
删除分区 alter table user_bhv drop partition (month='2020-03');
修复分区 msck repair table user_bhv;
查看所有分区 show partitions user_bhv;
查看表信息 desc formatted user_bhv;
查看分区实际保存位置 describe formatted user_bhv partition (month="2020-02");
备注:
- 使用
msck
命令修复分区时只会自动识别添加形如/tablename/{partition-name}=XXXXX
的数据目录,其他格式是不会识别的 - 如果使用
alter table user_bhv add if not exists partition (month="2020-03");
命令创建新分区,hive会降分区目录指向hdfs://mycluster/XXX/month=2020-03
这里,如果这个目录不存在(比如实际的目录是mycluster/XXX/2020-03
),创建过程不会报错但是会取不到数据 - 可使用
alter table user_bhv add if not exists partition (month="2020-03") location "hdfs://mycluster/XXX/2020-03";
命令指定数据location并创建分区