如何使用Hive将动态查询数据插入HBase

时间:2013-05-22 12:34:40

标签: hive hbase

我是Hbase和Hive的新手。有人可以解释一下如何使用Hive将数据插入Hbase吗?

我发现了很多有关此问题的信息,但所有这些信息都在谈论完全相同的事情。换句话说,它们是从另一个已存在的表插入Hbase表。

就我而言,情况有所不同。我有一个应用程序,它从用户读取一些数据并发送到服务器,并且需要在Hbase表中写入传入的数据。我怎么能这样做?

这是我的表:

CREATE TABLE hive_table (key INT, username STRING, password STRING, address STRING) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES('hbase.columns.mapping'=':key, user:val')
TBLPROPERTIES('hbase.table.name'='hbase_table');

如何使用Hive将以下记录插入到我的Hbase表中,即hbase_table:

key=123, username='something', password='pass', address='somewhere';

1 个答案:

答案 0 :(得分:1)

Hive不提供对ANSI SQL INSERT INTO table VALUES (a, b, c, d) insert语句的任何支持。如果您有另一个包含相关数据的表或文件,则可以使用

之类的内容进行插入

INSERT INTO hive_table SELECT key, username, password, address FROM foo

如果您想直接与HBase互动,我建议您使用:

  1. HBase shell
  2. Phoenix
  3. Kiji