【轉】Hive 修改 table、column

一、重命名錶重命名錶的語句以下:數據結構

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

相關文章
相關標籤/搜索