2016-07-23 25 views
0

こんにちは私は種類がmap<string,string>の列のテーブルを持っています。今、私は、このマップから特定のキーを "xyz"と言って削除し、テーブルにあるようにマップを保持したいという要件があります。キーを取得するだけの場合はLateral viewを使用できますが、特定のキーxyzを永久に削除したいと考えています。これをどうやって解決するのですか?ご案内ください。前もって感謝します。Hiveマップタイプから特定のキーを削除するにはどうすればよいですか?

答えて

0

ハイブ(任意のハープ)は、テーブルデータ(hdfsのドキュメント)の更新をサポートしていません。

回避策があります。

使用横には

あなたは上記のロジック上のビューを持っているか、out put resultを行うと、上にテーブルを作成することができます爆発し、その結果から、キーの値を削除する表示マップ形式で作成したデータによりグループと

Str_to_mapを設定しましたこの出力ファイルの

map explode example)キーの例を除い

 with result as (select key1, value1 from test2 
       lateral view explode(item1) dummy1 as key1, value1 

      select * from result where key1 !='1' 
+0

こんにちは、私は理解していなかったおかげで、あなたはどのように私は、マップ内の特定のキーを削除し、削除され、特定のキーを持つテーブルにマップを保持しない私に例をお願いすることができます。 – u449355

+0

答えが更新されました。 –

+0

OKありがとう私はまだ混乱しています。側面から見ると爆発して、メインテーブルから特定のキーを永久に削除しますか? – u449355

関連する問題