Hive 实现HBase 数据批量插入

HBase 数据的插入可以使用Java API 来写Java 程序逐条倒入,但是不是很方便。利用Hive自带的一个Jar包,可以建立Hive和HBase的映射关系 利用Hive 的insert可以将批量数
据导入到HBase中,还可以通过 Hql 语句进行查询。

具体的配置方法如下:

1、把hive-hbase-handler-0.9.0-cdh4.1.2.jar (CDH5 默认在 /usr/lib/hive/lib下)  cp到hbase/lib 下 (CDH5 默认在 /usr/lib/hbase/lib下)

2、配置hive-site.xml (CDH5 默认在 /etc/hive/conf 下)

<property>
   <name>hive.aux.jars.path</name>
   <value>file:///usr/lib/hbase/lib/hive-hbase-handler-0.12.0-cdh5.0.0.jar,file:///usr/lib/hbase/hbase.jar,file:///usr/lib/hbase/lib/zookeeper.jar</value>
</property>

利用下面的语句,可以创建一个Hive表和一个HBase 表

CREATE TABLE employee_hbase
(key string,age int,sex string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES
("hbase.columns.mapping" = ":key,info:age,info:sex") TBLPROPERTIES ("hbase.table.name"="employee");

其中 Hive 表名:employee_hbase 有 key,age,sex 三列
HBase表名:employee_hbase 有 rowkey = key 列族 info 列 age sex
名称一一对应

利用 insert into table employee_hbase select name as key,age,sex from employee;可以将已有Hive 数据导入到HBase中

posted @ 2014-10-17 15:51  oftenlin  阅读(10530)  评论(1编辑  收藏  举报