1)語法
更新列
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
增加和替換列
ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)
注:ADD 是代表新增一字段,字段位置在所有列後面(partition 列前),REPLACE 則是 表示替換表中所有字段(修改不修改都需要寫上字段的類型)。
2)實操案例
(1)查詢表結構
ALTER TABLE table_name RENAME TO new_table_name
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)
hive> desc dept_partition;
(2)添加列
hive (default)> alter table dept_partition add columns(deptdesc string);
(3)查詢表結構
hive> desc dept_partition;
(4)更新列
hive (default)> alter table dept_partition change column deptdesc desc int;
(5)查詢表結構
hive> desc dept_partition;
(6)替換列
hive (default)> alter table dept_partition replace columns(deptno string, dname string, loc
string);
(7)查詢表結構
hive> desc dept_partition;