hbase如何创建二级索引以及创建二级索引实例

查看数: 110980 | 评论数: 23 | 收藏 8
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-8-22 07:26

正文摘要:

本帖最后由 pig2 于 2014-8-22 11:20 编辑 问题导读 1.如何建立全局二级索引? 2.如何对一个表建立二级索引? 3.如何卸载二级索引? 环境:hadoop2.2+hbase0.94不过同样应该适用于hadoop2.4及hbase0. ...

回复

墨小黑 发表于 2018-2-4 14:09:21
给一张表单独加上coprocessor后,put数据抛IOException。
云云众生奈我何 发表于 2016-9-20 21:50:51
楼主 为什么我在hbase里面,运行完
alter 'ceshi',METHOD=>'table_att','coprocessor'=>'hdfs:///demo/wyn.jar|hbase.SenondIndexCoprocessor|1001'
这段代码后
子节点上的 regionserver 就都宕机了

点评

宕机看看日志  发表于 2016-9-20 22:04
uynkfeng 发表于 2016-6-15 00:22:56
非常感谢
liuzhixin137 发表于 2016-5-11 18:41:00
学习了,多谢多谢!
louiscool2 发表于 2016-2-1 18:15:55
我按照这个做法,为啥put数据后,索引表没有自动插入数据呢?hbase日志里也提示协议处理器加载成功了,“Loaded coprocessor test.HbaseCoprocessor from HTD of test successfully.”
以下是代码,其中testi是索引表,test是数据表
create 'testi', {NAME=>'keys'}

create 'test', {NAME=>'info'}
alter 'test',METHOD=>'table_att','coprocessor'=>'hdfs:///user/dw/myhbase-0.0.1-SNAPSHOT.jar|test.HbaseCoprocessor|1001'
put 'test','row1','info:1','hello0'
public class HbaseCoprocessor extends BaseRegionObserver {

        public void prePut(final ObserverContext<RegionCoprocessorEnvironment> e,
                        final Put put, final WALEdit edit, final boolean writeToWAL)
                        throws IOException {
                // set configuration
                Configuration conf = new Configuration();
                // need conf.set...
                String colName = "1";
                HTable table = new HTable(conf, "testi");
                List<Cell> kv = put.get("info".getBytes(), "1".getBytes());
                Iterator<Cell> kvItor = kv.iterator();
                while (kvItor.hasNext()) {
                        Cell tmp = kvItor.next();      
                       Put indexPut = new Put(tmp.getValue());
                    //    Put indexPut = new Put("hello");
                        indexPut.add("keys".getBytes(), "1".getBytes(),
                                        tmp.getRow());
                        table.put(indexPut);
                }
                table.close();
        }

}
395455030 发表于 2016-1-31 16:16:41
    楼主,我用这个办法做了,当我向主表写入key=rk0003,value=b33时,索引表想要的结果是这样:
key=b33,value=rk0003
    实际是这样:
key=\x00\x00\x00\x1A\x00\x00\x00\x03\x00\x06rk0003\x04infoname\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04b33,value=\x00\x00\x00\x1A\x00\x00\x00\x03\x00\x06rk0003\x04infoname\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04b33
    在想要的值旁还多出了很多奇怪的字符,这是什么原因?
羽毛 发表于 2016-1-13 21:43:57
学习了  谢谢分享
Rayn-瑞恩 发表于 2015-12-3 12:52:13
hhhhh ..不错不错。。。。。
jdayco 发表于 2015-8-30 09:06:53
华为的二级索引
关闭

推荐上一条 /2 下一条