1. 程式人生 > 其它 >hadoop 1.1.2和 hive 0.10 和hbase 0.94.9整合

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):001:0> describe "wdp"
DESCRIPTION                                          ENABLED                    
 'wdp', {NAME => 'cf', DATA_BLOCK_ENCODING => 'NONE' true                       
 , BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0',                             
 VERSIONS => '3', COMPRESSION => 'NONE', MIN_VERSION                            
 S => '0', TTL => '2147483647', KEEP_DELETED_CELLS =                            
 > 'false', BLOCKSIZE => '65536', IN_MEMORY => 'fals                            
 e', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}                            
1 row(s) in 1.1980 seconds

hbase(main):002:0> 

   好了,就這樣啦,我還沒插入資料測試呢,就先這樣吧。

  最後發一個它官方的文件地址,想了解更多的到這個網站上面看看

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