覆盖hive模式元数据而不删除和创建

时间:2017-04-06 08:22:34

标签: hive

假设我有一个预定义的Hive表,其中加载了分区。

CREATE EXTERNAL TABLE t1
(
 c1 STRING
)
PARTITIONED BY ( dt STRING )
LOCATION...

ALTER TABLE t1 ADD PARTITION ( dt = '2017-01-01' )

现在我得到了一个代表架构的新文本:

CREATE EXTERNAL TABLE t1
(
 user_id STRING
)
PARTITIONED BY ( dt STRING )
LOCATION...

如果我删除然后重新创建表格,我将丢失分区信息。 我正在寻找一种方法来重新定义列架构部分,而无需手动添加/删除/重命名列(不是一次性的,尝试自动化架构更新过程)。

1 个答案:

答案 0 :(得分:0)

我找到了一种'几乎'我需要的方法:

Hive支持

REPLACE COLUMNS 

这意味着我可以用新的列替换所有旧列。