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