0

我有一张带分区的桌子。我已将数据加载到该表中。现在,是否可以从该表中删除分区,而不删除已加载的数据?

4

1 回答 1

1

是的。您可以创建具有相同架构的第二个表,并将空表换出当前分区。

-- create tables
CREATE TABLE t1 (a string, b string) partitioned by (ds string);
CREATE TABLE t2 (a string, b string);

-- then swap partitions
ALTER TABLE t1 EXCHANGE PARTITION (ds = '1') WITH TABLE t2;

另一种方法是创建一个新的空分区:

ALTER TABLE sales
PARTITION (country = 'US', year = 2012, month = 12, day = 22)
SET LOCATION = 'sales/partitions/us/2012/12/22' ;

无论采用哪种方法,您的数据仍然存在。不久前我写了一篇关于配置单元分区的介绍,应该会有所帮助。

于 2013-11-08T14:26:37.330 回答