Hive 如何使用配置单元向HBase插入实时查询数据

Hive 如何使用配置单元向HBase插入实时查询数据,hive,hbase,Hive,Hbase,我是Hbase和Hive方面的新手。有人能告诉我如何使用Hive将数据插入Hbase吗 我发现了很多关于这方面的信息,但他们都在谈论完全相同的事情。换句话说,它们是从另一个已经存在的表插入到Hbase表中 我的情况不同。我有一个应用程序,它从用户那里读取一些数据并发送到服务器,传入的数据需要写入Hbase表。我该怎么做 这是我的桌子: CREATE TABLE hive_table (key INT, username STRING, password STRING, address STRIN

我是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');
如何使用配置单元将以下记录插入我的Hbase表(即Hbase_表):

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

配置单元不支持ANSI SQL
INSERT INTO table VALUES(a、b、c、d)
INSERT语句。如果有另一个表或文件包含有问题的数据,可以使用

INSERT INTO hive_table从foo中选择密钥、用户名、密码和地址

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


  • 谢谢你的回答,耶利米。那么,当用户在网站中注册并同时提供任务分发时,如何存储用户数据呢?我认为HBase本身不提供任何任务并行性。它至少应该与MapReduce一起使用,以实现任务的分布。由于配置单元是MapReduce的良好替代方案,所以我想在本例中使用配置单元。当您与HBase通信以写入数据时,您可以指定一个行键。该行键确定哪个区域服务器负责处理单行数据。Hive不是一个数据库;Hive是一个作业转换器——实际上,它将HiveQL转换为MapReduce。要将数据推送到HBase数据中,您需要使用我提到的三个HBase客户端库。好的,明白了!非常感谢耶利米。