通过sql来查询hbase上的数据
2016-08-23
0 0 0
暂无评分
其他
如何获取积分?
已经移植到github
如何简化从hbase中查询数据
为了兼容以前从关系型数据库中查询数据的接口, 让hbase可以通过sql语句来查询其中的数据.
hive有这样的功能, 他支持通过类似sql语句的语法来操作hbase中的数据, 但是速度太慢了, 因为hive本身就不是用来查询数据的, hive是数据仓库, 做数据分析的, 不适合我们的应用场景.
hbase本身提供的api中, 只有scan是用来查询数据的, 因此我们需要将sql语句转成scan 参考<<利用hbase的coprocessor机制来在hbase上增加sql解析引擎–(一)原因&架构>>发现是可行的
因此总体架构为
sql语句 --sql解析器--> sql语法节点(对象) -> scan -> hbase -> ResultScanner -> List<DynaBean>
例如一个简单的sql语句
select a, b from table1 where a = 1 and b = 2
我们通过sql解析器可以得到sql语句的各个部分, 再调用hbase api中相应的语句来达到相同的效果
// 要查询的表HTable table = new HTable(conf, "table1");// 要查询的字段Scan scan = new Scan();scan.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("a"));scan.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("b"));// where条件// a = 1SingleCo
sql
hbase
通过
数据
查询
相关源码推荐
线性回归分析
0
0
暂无评分
大学生助学贷款项目免费下载
0
0
暂无评分
智慧小区源码免费下载
0
0
暂无评分
安卓+Springboot+mysql图书列表
0
0
暂无评分
利用线性差值处理空值
0
0
暂无评分
暂无评论