Hive與HBase集成

jopen 10年前發布 | 27K 次閱讀 Hive HBase NoSQL數據庫

1 安裝準備

下載最新穩定版的Hive,資源庫http://mirror.esocc.com/apache/hive/

本文以當前的穩定版本0.11為例子,介紹基本的安裝步驟。

    $>tar -xvf hive-0.11.0.tar.gz
$>mv hive-0.11.0hive

#移動到指定的目錄下  
$>mvhive /opt/  
這個教程的軟件版本信息:  
Hadoop-2.2.0 集群  
HBase-0.94.14 集群  
Zookeeper-3.4.5 集群  
Hive-0.11  </pre><br />

2 配置

  將Hive配置到環境變量中,hive用戶下,輸入下列命令:

 
$ vim~/.bashrc  
exportJAVA_HOME=/usr/lib/jvm/jdk1.6.0_43  
exportHADOOP_HOME=/opt/hadoop  
exportHADOOP_MAPARED_HOME=${HADOOP_HOME}  
exportHADOOP_COMMON_HOME=${HADOOP_HOME}  
exportHADOOP_HDFS_HOME=${HADOOP_HOME}  
exportYARN_HOME=${HADOOP_HOME}  
exportHADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop  
exportHDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop  
exportYARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop  

exportHBASE_HOME=/opt/hbase  
exportZOOKEEPER_HOME=/opt/zookeeper  

#eclipsehome  
exportE_HOME=/opt/eclipse  

#hive  
export HIVE_HOME=/opt/hive  

exportPATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin:$E_HOME:$HIVE_HOME/bin: 

   將當前運行的HBase和Zookeeper的jar包復制到Hive目錄lib下,比如hbase-0.94.14.jar、zookeeper-3.4.5.jar。刪除原來版本的jar包,請一定保持hbase版本一致。

   將hadoop和hbase配置文件復制到hive目錄下,比如core-site.xml,hdfs-site.xml,yarn-site.xml,hbase-site.xml等(有的配置文件可能沒有什么用,也可以不用添加到hive的conf下)。

3 測試

假設要創建一個外部表hbasehive_table,實現查詢HBase中的數據。測試過程可以按照下面的步驟:

3.1 HBase表的創建和初始化

在HBase shell命令下,執行下列腳本:

 
create'hivehbase', 'ratings'  
put'hivehbase', 'row1', 'ratings:userid', 'user1'  
put'hivehbase', 'row1', 'ratings:bookid', 'book1'  
put'hivehbase', 'row1', 'ratings:rating', '1'  

put'hivehbase', 'row2', 'ratings:userid', 'user2'  
put'hivehbase', 'row2', 'ratings:bookid', 'book1'  
put'hivehbase', 'row2', 'ratings:rating', '3'  

put'hivehbase', 'row3', 'ratings:userid', 'user2'  
put'hivehbase', 'row3', 'ratings:bookid', 'book2'  
put'hivehbase', 'row3', 'ratings:rating', '3'  

put'hivehbase', 'row4', 'ratings:userid', 'user2'  
put'hivehbase', 'row4', 'ratings:bookid', 'book4'  
put'hivehbase', 'row4', 'ratings:rating', '1'  

 

3.2 創建Hive外部表

在Hive shell命令下,執行下列腳本:

 
$ CREATE EXTERNAL TABLE hbasehive_table  
(key string, userid string,bookid string,ratingint)  
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
WITH SERDEPROPERTIES  
("hbase.columns.mapping" =":key,ratings:userid,ratings:bookid,ratings:rating")  
TBLPROPERTIES("hbase.table.name" ="hivehbase");  

  

   如果執行成功,并且沒有出現任何的異常信息。執行Hive查詢,出現下列結果就證明安裝Hive成功。

 
hive>select * from hbasehive_table;      
 OK  
row1   user1   book1   1  
row2   user2   book1   3  
row3   user2   book2   3  
row4   user2   book4   1  
Time taken: 0.254 seconds, Fetched: 4 row(s)  
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!