hbase 二级索引实现

问题导读
1.如何建立全局二级索引?
2.如何对一个表建立二级索引?

3.如何卸载二级索引?

环境:hadoop2.2+hbase0.94不过同样应该适用于hadoop2.4及hbase0.985,未测试
二级索引可以对单个表建立索引,也可以全局建立索引,也就是对所有表:

1.全局建立索引,可以修改hbase-site.xml文件

 
hbase.coprocessor.region.classes 
org.apache.hadoop.hbase.coprocessor.AggregateImplementation
 为所有table加载了一个cp class,可以用”,”分割加载多个class

2.单个表建立索引
步骤:
1.首先disable ‘表名’
2.然后修改表

alter 'LogTable', METHOD => 'table_att_unset', NAME => 'coprocessor$1‘
3.enable '表名'
3.卸载索引

alter 'LogTable', METHOD => 'table_att_unset', NAME => 'coprocessor$1‘

4.建立索引实例:

建立二级索引,首先如下程序:

alter 'LogTable',METHOD=>'table_att','coprocessor'=>'hdfs:///test.jar|www.aboutyun.com.hbase.HbaseCoprocessor|1001'

hbase 二级索引实现_第1张图片  


查看是否创建成功
hbase 二级索引实现_第2张图片 


HBaseCoprocessor pdf

hbase 二级索引实现_第3张图片

转载http://www.aboutyun.com/forum.php?mod=viewthread&tid=8857&highlight=hbase%2B%B6%FE%BC%B6

你可能感兴趣的:(hbase)