Hive整合Hbase(一)
2018-03-16 18:47
465 查看
Hive整合Hbase(一)
1、简介
Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询、同时也可以将hive表中的数据映射到Hbase中。2、应用场景
1、将ETL操作的数据存入HBase2、HBase作为Hive的数据源
3、构建低延时的数据仓库
3、环境准备
3.1、hive与hbase版本兼容性
Hive版本 hive-1.2.1、hbase的版本hbase-1.2.1hbase与hive哪些版本兼容?
hive0.90与hbase0.92是兼容的,早期的hive版本与hbase0.89/0.90兼容。
hive1.x与hbase0.98.x或则更低版本是兼容的。
hive2.x与hbase1.x及比hbase1.x更高版本兼容。
Hive 0.6.0推出了storage-handler,用于将数据存储到HDFS以外的其他存储上。并方便的通过hive进行插入、查询等操作。同时hive提供了针对Hbase的hive-hbase-handler。这使我们在使用hive节省开发M/R代码成本的同时还能获得HBase的特性来快速响应随机查询。
但是,hive自带的hive-hbase-handler是针对特定版本的Hbase的,比如,0.7.0版本的hive编译时使用的是0.89.0版本的Hbase,0.6.0版本的hive默认使用0.20.3版本的hbase进行编译。如果能够找到对应的版本,可以跳过编译的步骤直接使用。不过,我们现状已经找不到这些版本的Hbase与之配合使用了。所以只好自己来编译这个jar包。
注:使用不匹配的版本,一些功能会发生异常。其原因是由于没有重新编译storage-handler组件,发现在hive中查询HBase表存在问题。hive-hbase-handler.jar的作用在hbase与hive整合的时候发挥了重要作用,有了这个包,hbase与hive才能通信。
如果想hbase1.x与hive1.x整合,需要编译hive1.x 代码本身。
这里我们就生成符合自己Hbase版本的hive-hbase-handler。
3.2、hive与hbase整合环境配置
1、修改hive-site.xml文件,添加配置属性(zookeeper的地址)<property> <name>hbase.zookeeper.quorum</name> <value>node-1:2181,node-2:2181,node-3:2181</value> </property>
2、上传自己编译的jar包
删除hive/lib下的hive-hbase-handler-1.2.1.jar
rm -rf hive-hbase-handler-1.2.1.jar
上传自己编译hive-hbase-handler-1.2.1.jar
3、引入hbase的依赖包
将hbase安装目录下的lib文件夹下的包导入到hive的环境变量中
在hive-env.sh 文件中添加
export HIVE_CLASSPATH=$HIVE_CLASSPATH:/var/local/hbase/lib/*
至此、hive与hbase整合环境准备完成。
喜欢就点赞评论+关注吧
感谢阅读,希望能帮助到大家,谢谢大家的支持!
相关文章推荐
- hbase和hive整合
- Hbase0.98版本的安装部署配置管理(Hadoop2.3、Hbase0.98、Hive0.13整合)
- Hive 与 Hbase的整合(四)
- 《OD大数据实战》HBase整合MapReduce和Hive
- Hive和Hbase整合
- hive与hbase整合过程
- Hive和Hbase整合
- Hive-Hbase整合
- hadoop完全分布式环境搭建,整合zookeeper,hbase,spark,hive,hue
- hive+hbase整合
- hbase hive整合
- HBase和Hive的整合
- hbase和hive的相互整合(需要兼容)
- Hive和HBase整合
- Hive与Hbase关系整合
- hive存储处理器(StorageHandlers)以及hive与hbase整合
- 【Hive/HBase】Hive与HBase的整合
- Hadoop Hive与Hbase整合+thrift
- Hive和Hbase整合
- hbase与hive的整合