1.hive为什么与hbase整合?
2.hive整合hbase的优缺点是什么?
网上很多hive与hbase整合文档,但是为什么要整合,下面给大家对照一下,就能看出其中的原因了。
首先我们看一下
1.hbase目前支持的功能
1. 通过SQL语句来查询hbase中的表数据
List<DynaBean> rows = HbaseQuery.select("SQL");
目前支持的SQL语句
SELECT * FROM report1 /* 查询所有数据 */
SELECT A, B FROM report1 /* 只查询某些列 */
SELECT * FROM report1 WHERE A = 1 and B = 2 /* 过滤条件只能是AND逻辑, 而且是等于关系 */
SELECT * FROM report1 limit 3 offset 2 /* 分页 */
2. 从oracle数据库中导入表数据到hbase
OracleDataLoader.loadTable("TABLE_NAME", new String[] { "PK_COLUMN_NAME" });
2.hive支持的功能
因内容比较多,这里只列出大纲
一、关系运算
二、数学运算
三、逻辑运算
四、数值计算
五、日期函数
六、条件函数
七、字符串函数
八、集合统计函数
九、复合类型构建操作
十、复杂类型访问操作
十一、复杂类型长度统计函数
更详细内容,可以查看hive支持sql大全
通过上面我们可以看出hive对于sql的支持,有强大的功能。我们不需要写过多的自定义函数,亦能实现一些复杂的查询等。
3.整合后的效果
我们明白了整合的原因,因为整合后,我们就通过Hive,读/写HBase的表了
4.hive与hbase整合的优缺点
优点:
1.Hive方便地提供了Hive QL的接口来简化MapReduce的使用,而HBase提供了低延迟的数据库访问。如果两者结合,可以利用MapReduce的优势针对HBase存储的大量内容进行离线的计算和分析。
2.操作方便,hive提供了大量系统功能
缺点:
性能的损失,hive有这样的功能, 他支持通过类似sql语句的语法来操作hbase中的数据, 但是速度慢。
|