Hive HBase整合使用

Hive HBase整合使用

将Hive中的数据导入到HBase中

wiki上的介绍链接如下:

http://wiki.apache.org/hadoop/Hive/HBaseIntegration

 

各版本要求:

hadoop-0.20.2

hbase-0.20.3

hive-0.6.0(之前的版本都不支持)

zookeeper-3.3.0

 

确认目录下有这个jar包:

./hive-0.6.0/lib/hive_hbase-handler.jar

 

 

加载这个jar包启动hive:

单个hbase服务器的启动命令如下:

bin/hive --auxpath /home/hadoopuser/hive-0.6.0/lib/hive_hbase-handler.jar,/home/hadoopuser/hive-0.6.0/lib/hbase-0.20.3.jar -hiveconf hbase.master=master:60000

如果使用zookeeper为hbase集群选择一个master

bin/hive --auxpath /home/hadoopuser/hive-0.6.0/lib/hive_hbase-handler.jar,/home/hadoopuser/hive-0.6.0/lib/hbase-0.20.3.jar -hiveconf hbase.zookeeper.quorum=server1,server2,server3

 

举例子 :

创建HBase

CREATE TABLE hbase_table_1(key int, value string) 

STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")

TBLPROPERTIES ("hbase.table.name" = "xyz");

 

hbase.table.name这项说明,在Hive这个表叫做 hbase_table_1 ,在HBase中这个表叫做 xyz。

hive> describe hbase_table_1;

OK

key     int     from deserializer

value   string  from deserializer

Time taken: 0.225 seconds

 

hbase(main):001:0> describe 'xyz'

DESCRIPTION                                                             ENABLED

 {NAME => 'xyz', FAMILIES => [{NAME => 'cf1', COMPRESSION => 'NONE', VE true

 RSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY =>

  'false', BLOCKCACHE => 'true'}]}

1 row(s) in 0.1040 seconds

hbase(main):002:0>

 

 

CREATE TABLE pokes (foo INT, bar STRING);  

LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes; 

 

INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=86;

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值