2016-11-23 15 views
3

目的は、Hiveスキーマを破棄してデータを下に保つことです。データを削除せずにHive外部テーブルを削除する

たとえば、スクリプト1で作成されたHive外部テーブルは、スクリプト2で削除できます。これにより、データが削除されます(フォルダ/user/me/data/が削除されます)。このフォルダは、他のプロジェクトで使用するために残しておく必要があります。

長い検索は、これまで何も得られない...

スクリプト1:外部表を作成します

CREATE EXTERNAL TABLE external_hive_table(
    column1 STRING 
) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY 
    '\t' 
STORED AS TEXTFILE 
LOCATION 
    '/user/me/data/' 
TBLPROPERTIES (
    "skip.header.line.count"="1"); 

スクリプト2:

(データをドロップする)外部表をドロップ
ALTER TABLE 
    external_hive_table 
SET TBLPROPERTIES (
    'EXTERNAL'='FALSE'); 

DROP TABLE external_hive_table; 

編集:スクリプト3:外部表を削除する(データを保持する)

DROP TABLE external_hive_table; 

答えて

4

使用(ALTER TABLEなし)のみ、この文:

DROP TABLE external_hive_table; 
+2

私は馬鹿です。私は本当にこれを試したと思った。 –

関連する問題