码迷,mamicode.com
首页 > 其他好文 > 详细

Hbase:RowKey和Filter效率比较

时间:2015-03-11 00:28:34      阅读:1188      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!