Hive的表属性操作

修改表名

alter table table_name rename to new_table_name

Hive的表属性操作_第1张图片

增加列

alter table tablename add columns(c1 string comment 'xxxx',
c2 long comment 'yyyy')

Hive的表属性操作_第2张图片

修改列名

alter table tablename change column c_Old c_New int comment 'XXXXXX'

after severity;//可以把该列放到指定列的后而,或者使用’first’放到第一位。

Hive的表属性操作_第3张图片

修改表属性tblproperties

alter table tablename set tblproperties(
property_name=property_value,property_name=property_value,…
);

Hive的表属性操作_第4张图片

修改表属性serdeproperties

注意:针对无分区表与有分区表不同。

无分区

alter table tablename set serdeproperties(
'field.delim'='\t'
);

Hive的表属性操作_第5张图片

Hive的表属性操作_第6张图片

有分区

alter table tablename partition(dt='xxxx') set serdeproperties
('field.delim'='\t');

Hive的表属性操作_第7张图片

Hive的表属性操作_第8张图片

修改location

布置只有外部表可以指定location,内部表也可以指定location。
alter table table_name [partition(...)] set location 'path'

Hive的表属性操作_第9张图片

Hive的表属性操作_第10张图片

Hive的表属性操作_第11张图片

验证:
select * from city;
删除表同样也会将指定位置的文件目录删除。

内部表转外部表

alter table tablename set TBLPROPERTIES ('EXTERNAL' = 'TRUE');

外部表转内部表

alter table table_name set TBLPROPERTIES('EXTERNAL'='FALSE');

Hive的表属性操作_第12张图片

Hive的表属性操作_第13张图片

Hive的表属性操作_第14张图片

你可能感兴趣的:(Hive,Hive之翼)