2016-07-01 13 views
0

Webを閲覧しています - DELETE & Impala/HiveではUPDATE句がサポートされていません。私はこの場合の回避策を見つけようとしています。 はノー成功とINSERT上書き句でそれを実行しようとしました:user_idは、日、月、年 (日、月、年のパーティション):Hive/Imapala - 削除句を実行する:[削除] [テーブル] WHERE [条件] '

\私はパーティション含むテーブルを持っています。私はMySQLを使用した場合、私が書くでしょう

は私が(各日付はこれら3つのパーティション列で表される)は、各日付の1行を持っていると言うと私は2016年5月1日

の行を削除する:

DELETE FROM tblname WHERE year = 2016 and month = 5 and day = 1

ハイブ/インパラではどのように実行しますか?

ありがとうございました!

+0

http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

答えて

0

削除する行(ウィンドウ関数row_numberを使用)がパーティション内にあるようにデータを分割します。その後、残りのテーブルに影響を与えずにパーティションを削除できます。データセットがかなり大きくなっても、これはかなり持続可能なモデルです。

詳細については、パーティション。

www.tutorialspoint.com/hive/hive_partitioning.htm

+0

ありがとう!出来た ! あなたが言及した 'drop partition'を使用しました: ' ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec、PARTITION partition_spec、...; ' *私は' row_number'機能を使用しませんでした。私の言ったように私のテーブルは既に分割されています。 – shayms8

+0

http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

関連する問題