假设我有一个预定义的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...
如果我删除然后重新创建表格,我将丢失分区信息。 我正在寻找一种方法来重新定义列架构部分,而无需手动添加/删除/重命名列(不是一次性的,尝试自动化架构更新过程)。
答案 0 :(得分:0)
我找到了一种'几乎'我需要的方法:
Hive支持
REPLACE COLUMNS
这意味着我可以用新的列替换所有旧列。