创建外部分区表
create external TABLE emp(id int,name string) partitioned by(month string) row format delimited fields terminated by ' ' stored as textfile;
修改表
修改表名
ALTER TABLE emp rename to [employee];
新增分区并指定数据位置
ALTER TABLE emp add partition(month='9') location '/data/hive/emp/month=9/';
删除分区: ALTER TABLE emp drop partition(month='9');如果是外部表,使用msck repair TABLE empty;可以恢复分区信息
修改分区表指定分区的数据来源
ALTER TABLE emp partition(month='10') set location '/data/hive/emp/month=10/emp10';
修改列信息
ALTER TABLE emp CHANGE COLUMN name mingzi STRING;
增加列信息
ALTER TABLE temp add COLUMNS (xing STRING COMMENT 'gender',salary double);
修改存储格式
ALTER TABLE employee partition(month='12') set FILEFORMAT sequencefile;
删除表
drop TABLE fjs; 如果表名不存在不报错 如果是外部表,则只会删除表的元信息,hdfs上的数据不会删除
快速复制一个分区表
原分区表:emp 1. create TABLE [employee] like emp; 2. dfs -cp /user/hive/warehouse/school.db/emp/* /user/hive/warehouse/school.db/employee/; 3. msck repair TABLE [employee] ; 4. show partitions [employee] ;