如何向现有的 Hive 外部表添加列?

问题描述 投票:0回答:2
create external table demotable(
column1 string,
column2 string,
column3 string)
row format delimited fields terminated by '|' 
location '/data/demotable';

我创建外部表“demotable”,“/data/demotable”中的数据就像

aaa|bbb|ccc
ddd|eee|fff
www|ttt|uuu
...
yyy|uuu|kkk

现在我想在我的数据中添加两列,它会像

aaa|bbb|ccc
ddd|eee|fff
www|ttt|uuu
...
yyy|uuu|kkk|ppp|lll
vvv|mmm|zzz|ttt|hhh

有什么办法吗:

1.在我的表中添加新列(用于新数据)

2.保留旧数据(只需将最后两列标记为“NULL”)?

hadoop hive external-tables
2个回答
0
投票

您可以使用以下命令向 HIVE 外部表添加新列:

ALTER TABLE 可降级添加列( 第 4 列字符串, 第 5 列字符串 );


-2
投票

由于它是外部表,因此您可以删除该表并重新创建并在末尾添加其他列。删除外部表并不能理想地删除文件。 当您查询表时,对于那些列没有任何数据的行,输出将为 NULL。

© www.soinside.com 2019 - 2024. All rights reserved.