原文地址
hive为什么要与hbase整合
hive与hbase整合指导
hadoop、hive、hibase版本对应关系
学习笔记 hive为什么要与hbase整合
hive为什么要与hbase整合
进度:已看完,能理解。
操作:没有实际操作过,所以优点和缺点没有深刻体会。
1.hbase目前支持的功能
(1)通过SQL语句来查询hbase中的表数据
(2)从oracle数据库导入表数据到hbase
2.hive目前支持的功能
内容较多,只列出部分,通过下面我们可以看出hive对于sql的支持,有强大的功能。我们不需要写过多的自定义函数,亦能实现一些复杂的查询等。
(1)关系运算
(2)数学运算
(3)逻辑运算
(4)数值计算
(5)日期函数
(6)条件函数
(7)字符串函数
(8)集合统计函数
(9)复合类型构建操作
(10)复杂类型访问操作
(11)复杂类型长度统计函数
3.整合后的效果
整合后,我们就可以通过Hive,读/写HBase的表了。
4.hive与hbase整合的优缺点
(1)优点
Hive方便地提供了H**重点内容ive QL的接口来简化MapReduce的使用,而HBase提供了低延迟的数据库访问。如果两者结合,可以利用MapReduce的优势针对HBase存储的大量内容进行离线的计算和分析。**
操作方便,hive提供了大量系统功能。
比如在Hbase中要查询一个名字按姓名分组统计的SQL,普通SQL语句如下:
select name,count(name) from table1 where group by name;
但是如果在hbase中的话,那么这样的需求没有好的实现办法,只能去写MR操作了。
但是在hive中可以直接运行一个SQL:select name,count(name) from table1 where group by name;就能得到结果了。
(2)缺点
性能的损失,hive有这样的功能, 他支持通过类似sql语句的语法来操作hbase中的数据, 但是速度慢。
但是慢的理由还没有get~
ps:再次强调
hive是逻辑表,没有具体的数据存储的,通过M/R去hdfs上读取数据。
hbase是物理表,负责数据的存储,有自己的存储方式及存储优化,数据最后存放在hdfs文件系统上面。
学习笔记 hive与hbase整合指导
hive与hbase整合指导
本文基于Hive执行HDFS批量向HBase导入数据,讲解Hive与HBase的整合问题。
进度:大致浏览,细节未深究。
操作:未实际操作。
1.版本说明
hive 0.10.0
hbase 0.94.0
hadoop 1.0.1
2.配置*(这里只大致讲解流程,细节不深究,等到具体配置时才深究)*
step1: 创建配置文件
cp conf/hive-default.xml.template hive-default.xml cp conf/hive-default.xml.template hive-site.xml
step2:修改配置文件
基于hive-default.xml.template进行拷贝复制的hive-site.xml文件有问题,主要集中在标签不配对的情况,需要根据错误提示进行修改。
step3:新增配置属性
hive.aux.jars.path
step4:拷贝Jar包到Hive/lib目录
hbase-0.94.0.jar,zookeeper-3.4.3.jar
3.测试脚本-创建hbase能识别的数据表
4.异常解决