Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询
Hive和HBase集成的配置
1 将hbase 相关jar包拷贝到hive lib目录下
hive-2.3.3/lib/hbase-server-1.1.1.jar,hive-2.3.3/lib/hbase-client-1.1.1.jar,hive-2.3.3/lib/hive-hbase-handler-2.2.0.jar,hive-2.3.3/lib/zookeeper-3.4.6.jar
2 修改hive的主配置文件conf/hive-site.xml
A: 修改hive.aux.jars.path属性,为属性添加hive和hbase集成所需要jar文件,注意必须通过file://指定本地文件,否则将会在hdfs上的路径中查询
<property>
<name>hive.aux.jars.path</name>
<value>file:///home/hadoop/hive-2.3.3/lib/hbase-server-1.1.1.jar,file:///home/hadoop/hive-2.3.3/lib/h
base-client-1.1.1.jar,file:///home/hadoop/hive-2.3.3/lib/hive-hbase-handler-2.2.0.jar,file:///home/hadoop
/hive-2.3.3/lib/zookeeper-3.4.6.jar</value>
</property>
B: 修改hive.zookeeper.quorum属性, 当hive和hbase集成时使用zookeeper调控服务
<property>
<name>hive.zookeeper.quorum</name>
<value>ping1,ping2,ping4</value>
</property>
C:添加hbase.zookeeper.quorum属性,当前集成的hbase是集群,hive在集成该hbase集群需要通过zookeeper调控服务
<property>
<name>hbase.zookeeper.quorum</name>
<value>ping1,ping2,ping4</value>
</property>
D: 修改hive环境配置hive-env.sh
添加 export HADOOP_HOME=/home/hadoop/hadoop-2.9.0
export HBASE_HOME=/home/hadoop/hbase-1.2.6
export HIVE_CONF_DIR=/home/hadoop/hive-2.3.3/conf
# export HIVE_AUX_JARS_PATH=?
实验一 : 在hive创建hbase对应的临时表,通过向hive中的临时表插入文件,完成操作hbase对应表的数据
第一步:启动hive客户端
$> hive
进入hiv