hive集成hbase相關配置

hive作爲hbase的客戶端,需要將hbase的相關jar包和一些配置拷貝到自己的配置中,具體如下:

hive-site.xml

<property>
  <name>hbase.zookeeper.quorum</name>

  <value>hadoop1,hadoop2,hadoop3</value>                                                                                                        </property>

jar包可以拷貝或者用軟鏈引入

ln -s ${HBASE_HOME}/lib/hbase-hadoop-compat-0.98.6-cdh5.3.6.jar ${HIVE_HOME}/lib/hbase-hadoop-compat-0.98.6-cdh5.3.6.jar
ln -s ${HBASE_HOME}/lib/high-scale-lib-1.1.1.jar ${HIVE_HOME}/lib/high-scale-lib-1.1.1.jar
ln -s ${HBASE_HOME}/lib/hbase-hadoop2-compat-0.98.6-cdh5.3.6.jar ${HIVE_HOME}/lib/hbase-hadoop2-compat-0.98.6-cdh5.3.6.jar
ln -s ${HBASE_HOME}/lib/hbase-server-0.98.6-cdh5.3.6.jar ${HIVE_HOME}/lib/hbase-server-0.98.6-cdh5.3.6.jar
ln -s ${HBASE_HOME}/lib/hbase-common-0.98.6-cdh5.3.6.jar ${HIVE_HOME}/lib/hbase-common-0.98.6-cdh5.3.6.jar
ln -s ${HBASE_HOME}/lib/hbase-client-0.98.6-cdh5.3.6.jar ${HIVE_HOME}/lib/hbase-client-0.98.6-cdh5.3.6.jar
ln -s ${HBASE_HOME}/lib/hbase-protocol-0.98.6-cdh5.3.6.jar ${HIVE_HOME}/lib/hbase-protocol-0.98.6-cdh5.3.6.jar
ln -s ${HBASE_HOME}/lib/hbase-it-0.98.6-cdh5.3.6.jar ${HIVE_HOME}/lib/hbase-it-0.98.6-cdh5.3.6.jar
ln -s ${HBASE_HOME}/lib/htrace-core-2.04.jar ${HIVE_HOME}/lib/htrace-core-2.04.jar

創建一個數據存儲在hbase上的表的方法如下:

drop table if exists test.nginx_log;
  
create table if not exists test.nginx_log( 
id int, 
ip string, 
area string, 
day string, 
time string, 
method string, 
url string, 
result int, 
size int, 
refer string 
) 
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:ip,info:area,info:day,info:time,info:method,info:url,info:result,info:size,info:refer") 
TBLPROPERTIES ("hbase.table.name" = "test:nginx_log");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章