日期:2014-05-16  浏览次数:20467 次

Hive HBase 整合(中文)
hive hbase整合,要求比较多,1.hive的得是0.6.0(当前最新的版本)
2.hive本身要求hadoop的最高版本是hadoop-0.20.2
3.要求hbase的版本是0.20.3,其他版本需要重新编译hive_hbase-handler
但是新版的hbase(0.90)变动特别大,根本无法从编译。这点比较恶心,hbase目前升级比较快,当前是0.90(从0.20.6直接跳到0.89),至于为什么这样跳跃,参考官方的解释http://wiki.apache.org/hadoop/Hbase/HBaseVersions


1)启动Hbase,
要求hbase-0.20.3,zookeeper-3.2.2
如果使用的不是hbase-0.20.3需要重新编译hive_hbase-handler.jar

2)单节点HBase的连接
./bin/hive -hiveconf hbase.master=master:60000

3)集群HBase的连接
1.启动zookeeper
2.启动hbase
3.启动hive,添加zookeeper的支持
Java代码 复制代码
  1. ./bin/hive?-hiveconf?hbase.zookeeper.quorum=?master,slave-A,slave-B??
[java] view plaincopyprint?
  1. ./bin/hive?-hiveconf?hbase.zookeeper.quorum=?master,slave-A,slave-B??

//所有的zookeeper节点

二、插入数据
启动
Java代码 复制代码
  1. ./bin/hive?--auxpath?/data/soft/hive/lib/hive_hbase-handler.jar,/data/soft/hive/lib/hbase-0.20.3.jar,/data/soft/hive/lib/zookeeper-3.2.2.jar??-hiveconf?hbase.zookeeper.quorum=slave-001,slave-002,slave-003??
[java] view plaincopyprint?
  1. ./bin/hive?--auxpath?/data/soft/hive/lib/hive_hbase-handler.jar,/data/soft/hive/lib/hbase-0.20.3.jar,/data/soft/hive/lib/zookeeper-3.2.2.jar??-hiveconf?hbase.zookeeper.quorum=slave-001,slave-002,slave-003??


hive
1.创建hbase识别的数据库
Java代码 复制代码
  1. CREATE?TABLE?hbase_table_1(key?int,?value?string)? ??
  2. STORED?BY?'org.apache.hadoop.hive.hbase.HBaseStorageHandler'??
  3. WITH?SERDEPROPERTIES?(<