9

開発者として、既存の MySQL テーブルからデータをインポートして、プロジェクト用の HBase テーブルを作成しましたsqoop job。問題は、データ アナリスト チームが MySQL 構文に精通しており、HIVEテーブルを簡単にクエリできることです。それらのために、HIVE で HBase テーブルを公開する必要があります。HIVE にデータを再入力してデータを複製したくありません。また、データを複製すると、将来的に一貫性の問題が発生する可能性があります。

データを複製せずに HIVE で HBase テーブルを公開できますか? はいの場合、どうすればよいですか?また、insert/update/deleteHBase テーブルのデータを更新すると、更新されたデータが問題なく HIVE に表示されますか?

場合によっては、データ分析チームがテーブルを作成し、HIVE にデータを入力します。それらを HBase に公開できますか? はいの場合、どのように?

4

2 に答える 2

12

HBase-Hive 統合:

external tableHBase テーブルの in hive を作成すると、データを複製する必要なく、Hive でクエリされる HBase データをクエリできます。HBase テーブルからデータを更新または削除するだけで、変更されたテーブルを Hive でも表示できます。

例:

idと の列を持つ hbase テーブルがあるとしnameますemail

ハイブの外部表コマンドの例:

CREATE EXTERNAL TABLE hivehbasetable(key INT, id INT,  username STRING, password STRING, email STRING) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,id:id,name:username,name:password,email:email") TBLPROPERTIES("hbase.table.name" = "hbasetable");

Hive-Hbase 統合の詳細については、こちらをご覧ください

于 2015-05-08T16:28:09.633 に答える