【问题标题】:how can insert data in hbase through hive table?如何通过 hive 表在 hbase 中插入数据?
【发布时间】:2013-06-13 01:53:54
【问题描述】:

我可以用这个查询创建一个 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 表?

【问题讨论】:

  • 我强烈建议您在提交之前先检查一遍您的问题。你得到什么错误?什么是“s:hive”???为什么要选择并将值插入同一个表??

标签: linux ubuntu hadoop hbase hive


【解决方案1】:

按照这些步骤,

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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    相关资源
    最近更新 更多