1

このクエリで Hive テーブルを作成できます

CREATE TABLE hbtable(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
TBLPROPERTIES ("hbase.table.name" = "xyz");

そして、このクエリを使用してテーブルにデータを挿入しましたが、機能していません。

insert overwrite table hbtable  select * from hbtable s where s:hive fiels="value"

Hive テーブルを介して HBase テーブルに値を挿入するにはどうすればよいですか?

4

1 に答える 1

0

次の手順を実行します、

Step 1 :

bin/hive --auxpath /hadoop/projects/hive-0.9.0/lib/hive-hbase-handler-0.9.0.jar,/hadoop/projects/hive-0.9.0/lib/hbase-0.92.0.jar,/hadoop/projects/hive-0.9.0/lib/zookeeper-3.3.4.jar,/hadoop/projects/hive-0.9.0/lib/guava-r09.jar -hiveconf hbase.master=localhost:60000
STep 2 :
hive> CREATE TABLE hbase_table_1(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
TBLPROPERTIES ("hbase.table.name" = "xyz");

Step 3 :
hive> INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM xyz WHERE key=1;

注:単一のUbuntuボックスでhive-0.9.0とhbase-0.94.4を実行しています。

于 2013-06-17T14:00:24.850 に答える