Hive和Hbase的整合,实现Hive读取Hbase数据的目的

一、版本信息和环境

1、版本信息(全是Apache版本):

hadoop-2.6.0

hbase-1.2.6.1

apache-hive-1.1.0-bin

2、环境:

hadoop+hive+hbase的伪分布,前提是hadoop、hive和hbase均已配置完毕可以正常启动。

本文章主要目的是在此基础之上,完成hive和Hbase的整合使得hive能够操作Hbase的数据表

二、配置步骤: 

1、配置/opt/hive/conf/hive-env.sh

vim /opt/hive/conf/hive-env.sh

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

2、配置/opt/hive/conf/hive-site.xml

vim /opt/hive/conf/hive-site.xml

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

3、编译hive-hbase-handler.jar包

由于hive-1.1.0自带的hive-hbase-handler-1.1.0.jar与hbase-1.2.6.1不兼容,因为需要根据hbase-1.2.6.1重新hive-hbase-handler.jar包编译

编译准备:

hbase-1.2.6.1-bin.tar.gz(需要lib下的jar包作为依赖)

apache-hive-1.1.0-bin.tar.gz(需要lib下的jar包作为依赖)

apache-hive-1.1.0-src.tar.gz(找到源码当中的hbase-handler进行编译)

将三个包分别解压

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

编译过程:

使用IDEA进行编译,具体步骤如下:

1、从apache-hive-1.1.0-src源码包中导入hbase-handler源码,注意导入文件夹为java如图

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

然后一直next,最后点击finish

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

然后点击ok,再点击ok

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

然后点击ok,再点击ok

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

然后,把上图中hbase-handler.jar上传到/opt/hive/lib目录下就ok

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

三、验证

进入hive,界面创建Hbase数据表

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

进入hbase shell,查看数据库表是否生成

《Hive和Hbase的整合,实现Hive读取Hbase数据的目的》

验证成功!!!!!!!!!!!

    原文作者:独行者独行者
    原文地址: https://www.jianshu.com/p/7365b1e6ba88
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞