ads:
关注以下公众号查看更多文章
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");