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);


备注:
 ALTER TABLE  table_name  add columns( dept string COMMENT '') CASCADE;加分区表字段需要加上CASCADE 
 
原文地址:https://www.cnblogs.com/linn/p/6233776.html