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]

這個命令可以允許用戶修改一個列的名稱、數據類型、注釋或者位置。

CREATE TABLE test_change (a int, b int, c int);
1、修改字段名
將 a 列的名字改為 a1;

ALTER TABLE test_change CHANGE a a1 INT; 

2、修改字段數據類型&調整字段順序

ALTER TABLE test_change CHANGE a a1 STRING AFTER b; 

將 a 列的名字改為 a1,a 列的數據類型改為 string,并將它放置在列 b 之后。
新的表結構為: b int, a1 string, c int;

注意:對列的改變只會修改 Hive 的元數據,而不會改變實際數據。用戶應該確定保證元數據定 義和實際數據結構的一致性。

二、新增/刪除字段

Add/Replace Columns

ALTER TABLE table_name ADD|REPLACE
COLUMNS (col_name data_type [COMMENT col_comment], ...)

1、ADD COLUMNS 允許用戶在當前列的末尾增加新的列,但是在分區(qū)列之前。
2、REPLACE COLUMNS 刪除以后的列,加入新的列。
只有在使用 native 的 SerD(e DynamicSerDe
or MetadataTypeColumnsetSerDe)的時候才可以這么做。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容