2016-12-08 7 views
0

HBase-Hiveインテグレーションを使用して、HiveでHBaseを読み書きします(documentation)。それは完璧に働いてHBase-Hiveインテグレーションでの値の削除

CREATE EXTERNAL TABLE hbase.test (
    col1 string, 
    col2 map<string, double> 
) 
STORED BY 
    'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES (
    'hbase.columns.mapping'=':key, cf:', 
    'hbase.table.name'='test') 

リーディング、ライティング:

は基本的に、私のようなHBaseStorageHandlerとハイブ内のテーブルを作成します。しかし、今私は値によっていくつかの悪いデータをクリアしたい。この値は、行キーと列セルの両方にあります。つまり、col1とcol2のキーです。

documentではデータの削除に関連するものは見つかりませんでした。うまくいけば、誰かが似たような経験を持っているので、ここで私の質問に答えられる。

ありがとうございます!

答えて

1

削除の最も近い使用例は上書きです。あなたが提供したドキュメントで見つけることができます。

一般に、大きなデータ領域では削除が容易ではありません。 HBaseでは、トゥームストーンと圧縮を使って実現されます。 ハイブでは、0.14バージョンからのみ利用可能です。また、ACIDをサポートするテーブルでもそうです。再びACIDは0.13からサポートされています。

ご覧のとおり、入札データセットの削除作業は最近行われています。 不正なデータの消去を処理するために上書き挿入などのより良いオプションを計画する必要があります。

スタンドアロンとしてhbaseやhiveのように各フレームワークを個別に使用しているわけではないので、どちらの機能もフルに使用できません。バックエンドに重いSQLビューとHBaseがある場合、統合は良いことです。

また、HBaseがバックエンドで選ばれた理由は、独自の要件を持つ可能性があります。これにより、より良いソリューションを設計するのに役立ちます。

+0

上書きはhbaseの既存のデータを削除せず、更新のみを行います。非常に大きなデータ量の削除ではないので、私の最終的な解決策は[this](https://www.tutorialspoint.com/hbase/hbase_delete_data.htm)です。 – yuan0122

+0

2つのことを確認したいだけです。最も近く、完了していない。また、ハイブからデータを削除したいと思っていて、それがHBaseに反映されるはずです。 hbase削除のためのリンクが提供されています。 HBaseから削除すると、あなたの要件が満たされることを願っています。ハッピーコーディング。 – Ramzy

関連する問題