Hive常用语句

时间:2022-11-21 09:35:55

文章目录

  • 1 显示分区
  • 2 添加分区
  • 3 删除分区
  • 4 修改分区
  • 5 添加列
  • 6 修改列
  • 7 修改表属性
  • 8 表的重命名

显示分区

show partitions iteblog;

添加分区

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;

修改表属性

  1. alter table iteblog set TBLPROPERTIES ('EXTERNAL'='TRUE');
  2. 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