1. 表相关操作
查询表结构
DESC grid;DESC grid PARTITION(dt='2017-10-01', city=1);
表重命名
ALTER TABLE grid RENAME TO grid;
内部表转外部表
ALTER TABLE grid set TBLPROPERTIES ('EXTERNAL'='TRUE');
外部表转内部表
ALTER TABLE grid set TBLPROPERTIES ('EXTERNAL'='FALSE');
修改外部表位置
ALTER TABLE grid SET LOCATION 'hdfs:///user/roo/warehouse/grid';
2. 分区相关操作
显示所有分区
SHOW PARTITIONS grid;SHOW PARTITIONS grid(dt='2017-10-01');SHOW PARTITIONS grid(city=1);
添加分区
ALTER TABLE grid ADD PARTITION(dt='2017-10-01', city=1);ALTER TABLE grid ADD IF NOT EXISTS PARTITION(dt='2017-10-01', city=1);ALTER TABLE grid ADD PARTITION(dt='2017-10-01', city=1) LOCATION 'hdfs:///user/roo/warehouse/grid/dt=2017-10-01/city=1';
删除分区
ALTER TABLE grid DROP PARTITION (dt='2017-10-01');ALTER TABLE grid DROP IF EXISTS PARTITION (dt='2017-10-01', city=1);
查询分区详细信息
DESC EXTENDED grid PARTITION(dt='2017-10-01', city=1);
修改表分区位置
一般在修改外部表LOCATION存储位置后,需要修改表分区的位置。
ALTER TABLE grid PARTITION(dt='2017-10-01', city=1) SET LOCATION 'hdfs:///user/roo/warehouse/grid/dt=2017-10-01/city=1';