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 下)
hive.aux.jars.path
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
利用下面的語句,可以建立一個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中