1. 程式人生 > >Hive修改表

Hive修改表

Alter Table 語句

它是在Hive中用來修改的表。

語法

宣告接受任意屬性,我們希望在一個表中修改以下語法。

ALTER TABLE name RENAME TO new_name
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
ALTER TABLE name DROP [COLUMN] column_name
ALTER TABLE name CHANGE column_name new_name new_type
ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])

Rename To… 語句

下面是查詢重命名錶,把 employee 修改為 emp。

hive> ALTER TABLE employee RENAME TO emp;


Change 語句

下表包含employee表的欄位,它顯示的欄位要被更改(粗體)。

欄位名 從資料型別轉換 更改欄位名稱 轉換為資料型別
eid int eid int
name String ename String
salary Float salary Double
designation String designation String

下面查詢重新命名使用上述資料的列名和列資料型別:

hive> ALTER TABLE employee CHANGE name ename String;
hive> ALTER TABLE employee CHANGE salary salary Double;


新增列語句

下面的查詢增加了一個列名dept在employee表。

hive> ALTER TABLE employee ADD COLUMNS (dept STRING COMMENT 'Department name');

REPLACE語句

以下從employee表中查詢刪除的所有列,並使用emp替換列:

hive> ALTER TABLE employee REPLACE COLUMNS ( 
   > eid INT empid Int, 
   > ename STRING name String);