文章目录
- 1 显示分区
- 2 添加分区
- 3 删除分区
- 4 修改分区
- 5 添加列
- 6 修改列
- 7 修改表属性
- 8 表的重命名
显示分区
添加分区
ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec
[LOCATION 'location1' ] partition_spec [LOCATION 'location2' ] ...;
partition_spec:
: (partition_column = partition_col_value, partition_column = partition_col_value, ...)
ALTER TABLE iteblog ADD PARTITION (dt= '2008-08-08' ) location '/path/to/us/part080808' ;
ALTER TABLE iteblog ADD PARTITION (dt= '2008-08-08' , country= 'us' ) location '/path/to/us/part080808' ;
ALTER TABLE iteblog ADD PARTITION (dt= '2008-08-08' , country= 'us' ) location '/path/to/us/part080808'
PARTITION (dt= '2008-08-09' , country= 'us' ) location '/path/to/us/part080809' ;
|
删除分区
ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec[, PARTITION partition_spec, ...]
ALTER TABLE iteblog DROP PARTITION (dt= '2008-08-08' , country= 'us' );
|
修改分区
ALTER TABLE iteblog PARTITION (dt= '2008-08-08' ) SET LOCATION "new location" ;
ALTER TABLE iteblog PARTITION (dt= '2008-08-08' ) RENAME TO PARTITION (dt= '20080808' );
|
添加列
ALTER TABLE iteblog ADD COLUMNS (col_name STRING);
|
修改列
CREATE TABLE iteblog (a int , b int , c int );
// will change column a 's name to a1
ALTER TABLE iteblog CHANGE a a1 INT;
// will change column a' s name to a1, a 's data type to string, and put it after column b. The new table' s structure is : b int , a1 string, c int
ALTER TABLE iteblog CHANGE a a1 STRING AFTER b;
// will change column b 's name to b1, and put it as the first column. The new table' s structure is : b1 int , a string, c int
ALTER TABLE iteblog CHANGE b b1 INT FIRST ;
|
修改表属性
- alter table iteblog set TBLPROPERTIES ('EXTERNAL'='TRUE');
- alter table iteblog set TBLPROPERTIES ('EXTERNAL'='FALSE');
表的重命名
ALTER TABLE iteblog RENAME TO new_table_name
|
参考:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AddPartitions