Hive的表属性操作,Hive表属性操作


修改表名

alter table table_name rename to new_table_name

增加列

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

修改列名

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

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

修改表属性tblproperties

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

修改表属性serdeproperties

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

无分区

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

有分区

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

修改location

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

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

内部表转外部表

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

外部表转内部表

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关内容