立即注册 登录
About云-梭伦科技 返回首页

desehawk的个人空间 https://www.aboutyun.com/?29 [收藏] [复制] [分享] [RSS]

日志

HBase 获得多version 的值 在同一列簇中存入多个版本的不同价value

已有 951 次阅读2015-4-9 23:12

在HBase中 一个row对应的相同的列只会有一行。使用scan 或get 得到都是最新的数据
如果我们对这某一row所对应的列进行了更改操作后,并不会多生成一条数据,不会像RDBMS一样
insert时多生成一条记录,在HBase中对同一条数据的修改或插入 都只是put操作,最终看到的都是
最新的数据,其它的数据在不同的version中保存,就像隐藏的东西一样

那么如何才能看到这些隐藏version的值呢

            Get get = new Get(startRow);
            get.setMaxVersions();
            Result result = table.get(get);
             List<KeyValue> list = result.list(); 
              for(final KeyValue v:list){
                  logger.info("value: "+ v+ " str: "+Bytes.toString(v.getValue()));
              }
加入setMaxVersions()方法就可以把所有的版本都取出来了
            

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条