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中