首页 > 其他 > 详细

Hbase:RowKey和Filter效率比较

时间:2015-03-11 00:26:44      阅读:4025      评论:0      收藏:0      [点我收藏+]

范围查询的方式:1.按RowKey查询  2.filter设置ColumnValue的条件 

对于多个Column存储,从关系数据库中由复合索引的表迁移过来的,自然想到的是在hbase上加二级索引,但是效率却不好,分析一下原因:

Hbase按索引建表

  在HBase中,表格的Rowkey按照字典排序,Region按照RowKey设置split point进行shard,通过这种方式实现的全局、分布式索引,成为了其成功的最大的砝码

  单一的通过Rowkey检索数据的方式,不再满足更多应用的需求,比如不能像SQL一样检索数据,select * from table where col=val。可是,HBase之前的定位是大表的存储,要进行这样的查询,往往是要通过类似Hive、Pig等系统进行全表的MapReduce计算,这种方式既浪费了机器的计算资源,又因高延迟使得应用黯然失色。于是出现了HBase二级索引的方案。

  每一个索引建立一个表,然后依靠表的row key来实现范围检索。row key在HBase中是以B+ tree结构化有序存储的,所以scan起来会比较效率。
单表以row key存储索引,column value存储id值或其他数据 ,这就是Hbase索引表的结构。

Hbase QualifierFilter用于过滤qualifier,也就是一个列族里面data:xxx,冒号后面的字符串

 

hack操作

hbase列族里有许多列

HBase高性能复杂条件查询引擎

Hbase:RowKey和Filter效率比较

原文:http://www.cnblogs.com/kxdblog/p/4328699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!