如何在不删除数据的情况下撤消 ALTER TABLE ... ADD PARTITION

How to undo ALTER TABLE ... ADD PARTITION without deleting data

假设我有两个配置单元表,table_1table_2。我使用:

ALTER TABLE table_2 ADD PARTITION (col=val) LOCATION [table_1_location]

现在,table_2 将在 col = val.

的分区中拥有 table_1 中的数据

我想做的是反转这个过程。我希望 table_2col=val 没有分区,我希望 table_1 保留其原始数据。

我该怎么做?

首先使您的 table 外部:

ALTER TABLE table_2 SET TBLPROPERTIES('EXTERNAL'='TRUE');

然后删除分区,数据会保留,只有table_2分区元数据会被删除:

ALTER TABLE table_2 DROP PARTITION (col=val)

table_1 分区数据将保持原样。