1.修改表名称:
hive > alter table log_messages to logmsgs;
2.增加列:
hive > alter table log_messages add coloumns(
app_name string comment 'Application name',
session_id long comment 'The current session id'
);
增加列的表的最后一个字段之后,在分区字段之前添加。
3.修改列
我们可以对某个字段进行重命名,并修改其位置、类型或者注释:
hive > alter table log_messages
change column hms hours_minutes_seconds int
comment 'The hours,minutes and seconds part of the timestamp' afer severity;
即使字段名或者字段类型没有改变,用户也需要完全指定旧的字段名,并给出新的字段名及新的字段类型。
关键字column和comment子句都是可选的。
4.删除列:
Hive没有删除指定列的命令,Hive通过replace命令变向实现删除列的功能。
replace命令将用新的列信息替换之前的列信息,相当于删除之前全部的列,再用新的列代替。
hive > alter table log_messages replace columns (
hours_mins_secs int comment 'hour,minute,seconds from timestamp',
severity string comment 'The message severity',
message string comment 'The rest of the message'
)