Hive命令-表字段篇

一、修改字段

Change Column Name/Type/Position/Comment

ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type
[COMMENT col_comment]
[FIRST|AFTER column_name]

这个命令可以允许用户修改一个列的名称、数据类型、注释或者位置。

CREATE TABLE test_change (a int, b int, c int);
1、修改字段名
将 a 列的名字改为 a1;

ALTER TABLE test_change CHANGE a a1 INT; 

2、修改字段数据类型&调整字段顺序

ALTER TABLE test_change CHANGE a a1 STRING AFTER b; 

将 a 列的名字改为 a1,a 列的数据类型改为 string,并将它放置在列 b 之后。
新的表结构为: b int, a1 string, c int;

注意:对列的改变只会修改 Hive 的元数据,而不会改变实际数据。用户应该确定保证元数据定 义和实际数据结构的一致性。

二、新增/删除字段

Add/Replace Columns

ALTER TABLE table_name ADD|REPLACE
COLUMNS (col_name data_type [COMMENT col_comment], ...)

1、ADD COLUMNS 允许用户在当前列的末尾增加新的列,但是在分区列之前。
2、REPLACE COLUMNS 删除以后的列,加入新的列。
只有在使用 native 的 SerD(e DynamicSerDe
or MetadataTypeColumnsetSerDe)的时候才可以这么做。

    原文作者:BestFei
    原文地址: https://www.jianshu.com/p/e060da285ada
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞