一、重命名錶重命名錶的語句以下:數據結構
ALTER TABLE table_name RENAME TO new_table_name
二、修改表屬性:spa
ALTER TABLE table_name SET TBLPROPERTIES (property_name = property_value, property_name = property_value,... )
三、修改表註釋:code
ALTER TABLE table_name SET TBLPROPERTIES('comment' = new_comment);
一、添加列blog
-- Add/Replace Columns 語法 ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...) --【注】ADD COLUMNS 容許用戶在當前列的末尾增長新的列,可是在分區列以前。 -- 將 a 列的名字改成 a1,a 列的數據類型改成 string,並將它放置在列 b 以後。 ALTER TABLE test_change CHANGE a a1 STRING AFTER b; -- 將 b 列的名字修改成 b1, 並將它放在第一列。 ALTER TABLE test_change CHANGE b b1 INT FIRST 注意:對列的改變只會修改Hive的元數據,而不會改變實際數據。用戶應該肯定保證元數據定義和實際數據結構的一致性。
二、修改列 字符串
--- Change Column Name/Type/Position/Comment 語法 ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name] --- Change Column Name/Type/Position/Comment 案例 CREATE TABLE test_change (a int, b int, c int); ALTER TABLE test_change CHANGE a a1 INT; --將 a 列的名字改成 a1. --將 a 列的名字改成 a1,a 列的數據類型改成 string,並將它放置在列 b 以後。新的表結構爲: b int, a1 string, c int. ALTER TABLE test_change CHANGE a a1 STRING AFTER b; --將 b 列的名字修改成 b1, 並將它放在第一列。新表的結構爲: b1 int, a string, c int. ALTER TABLE test_change CHANGE b b1 INT FIRST;
一、增長分區string
--Add Partitions 語法 ALTER TABLE table_name ADD partition_spec [ LOCATION 'location1' ] partition_spec [ LOCATION 'location2' ] ... partition_spec: : PARTITION (partition_col = partition_col_value, partition_col = partiton_col_value, ...) --Add Partitions 語法案例:用戶能夠用 ALTER TABLE ADD PARTITION 來向一個表中增長分區。當分區名是字符串時加引號。 ALTER TABLE page_view 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';
二、刪除分區it
---DROP PARTITION 刪除分區
ALTER TABLE table_name DROP
partition_spec, partition_spec,...
Reference:io
https://www.jianshu.com/p/9088fe002e2a Hive 修改table、columntable