0

パーティションのあるテーブルがあります。そのテーブルにデータをロードしました。さて、ロードされたデータを削除せずに、そのテーブルからパーティションを削除することは可能ですか?

4

1 に答える 1

1

はい。同じスキーマで 2 つ目のテーブルを作成し、空のテーブルを現在のパーティションに交換できます。

-- 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;

もう 1 つの方法は、新しい空のパーティションを作成することです。

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 に答える