hadoop 1.1.2和 hive 0.10 和hbase 0.94.9整合

  今天弄了一下hive0.10和hbase0.94.9整合,需要设置的并不多,但是也遇到了一些问题。

  1.复制jar包

  拷贝hbase-0.94.9.jar,zookeeper-3.4.5.jar,protobuf-java-2.4.0a.jar到hive/lib下,删掉lib下面旧版的jar包。

  拷贝hbase-0.94.9.jar到所有hadoop节点的lib文件夹下面,拷贝hbase/confi的hbase-site.xml文件拷贝到所有的hadoop节点conf文件夹下。

  2.修改hive-site.xml配置文件,添加以下内容

<property>
   <name>hive.querylog.location</name>
   <value>/usr/hive/logs</value>
    </property>
    <property>
   <name>hive.aux.jars.path</name>
   <value>file:///usr/hive/lib/hive-hbase-handler-0.10.0.jar,file:///usr/hive/lib/hbase-0.94.9.jar,file:///usr/hive/lib/zookeeper-3.4.5.jar,file:///usr/hive/lib/protobuf-java-2.4.0a.jar</value>
</property>    

  

  

  3.启动hive,hive -hiveconf hbase.zookeeper.quorum=node1,node2,node3

   实际上只需要填一个即可,我只填了一个。

  4.开始测试,建一个表试验。

CREATE TABLE hbase_table1(key int, value1 string, value2 int, value3 int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = ":key,cf1:value1,cf1:value2,cf2:value3"
)TBLPROPERTIES("hbase.table.name" = "table1"); TBLPROPERTIES参数是可选的,如果不写的话,就默认是hive和hbase中的表名称一致  5.打开hbase看看,使用describe “table1”来查询一下,发一个我真实建立的表吧。
hbase(main)::> describe "wdp"
DESCRIPTION                                          ENABLED
 'wdp', {NAME => 'cf', DATA_BLOCK_ENCODING => 'NONE' true
 , BLOOMFILTER => ',
 VERSIONS => ', COMPRESSION => 'NONE', MIN_VERSION
 S => ', KEEP_DELETED_CELLS =
 > ', IN_MEMORY => 'fals
 e', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}
 row(s) in 1.1980 seconds

hbase(main)::> 

   好了,就这样啦,我还没插入数据测试呢,就先这样吧。

  最后发一个它官方的文档地址,想了解更多的到这个网站上面看看

  https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration

             
上一篇:牛客练习赛3 B - 贝伦卡斯泰露


下一篇:HBase(0.96以上版本)过滤器Filter详解及实例代码