HBase建立表指定版本和未指定版本区别:

http://jiajun.iteye.com/blog/945358   参详-》源码实现 html

HBase建立表未指定版本  [建表时默认的VERSION是1.] apache

create 'mytable', {NAME => 'colfam1'} api

'mytable'中添加三条数据: oop

put 'mytable','001','colfam1','1@' this

put 'mytable','001','colfam1','1%' spa

put 'mytable','001','colfam1','1&' .net

 put 'mytable','001','colfam1','1*'
code


scan 'mytable' 中的数据【默认只能查看最新的数据,想查看多个版本须要指定下 orm

看到的最后一条记录。 htm


查找时指定了版本,仍是看到最后一条记录。虽然加了VERSIONS,但get的结果是1条;这就是由于建表时默认的VERSION是1.

能够修改VERSIONS:alter 'member',{NAME=>'info','VERSIONS'=>2}


分析:与建表时指定的保留版本数有关系


HBase建立表指定版本:(加了VERSIONS=>3,就能够查到历史的数据了,可是必须再建立表的时候加上VERSIONS,不然无效

create 'mytable', {NAME => 'colfam1', VERSIONS => 5,MIN_VERSIONS => '3'}

put 'mytable','001','colfam1','1@'
put 'mytable','001','colfam1','1%'

put 'mytable','001','colfam1','jhl'

put 'mytable','001','colfam1','hjf'

 get 'mytable','001',{COLUMN => 'colfam1',VERSIONS => 3}

get 'mytable','001',{COLUMN => 'colfam1',VERSIONS => 5}



总结:1.若想保留表的列族的历史记录:就要在当前列上指定版本信息

{COLUMN => 'colfam1',VERSIONS => 5}

2.scan table 始终是扫描到表的每一行的最大版本的那条记录。

参详api解释:

Gets实在Scan的基础上实现的。能够详细参见下面的讨论 Get 一样能够用 Scan来描述.

默认状况下,若是你没有指定版本,当你使用Get操做的时候,会返回最近版本的Cell(该Cell多是最新写入的,但不能保证)。默认的操做能够这样修改:

  • 若是想要返回返回两个以上的把版本,参见Get.setMaxVersions()

  • 若是想要返回的版本不仅是最近的,参见 Get.setTimeRange()

    要向查询的最新版本要小于或等于给定的这个值,这就意味着给定的'最近'的值能够是某一个时间点。能够使用0到你想要的时间来设置,还要把max versions设置为1.

5.8.1.2. 默认 Get 例子

下面的Get操做会只得到最新的一个版本。

        Get get = new Get(Bytes.toBytes("row1"));         Result r = htable.get(get);         byte[] b = r.getValue(Bytes.toBytes("cf"), Bytes.toBytes("attr"));  // returns current version of value

5.8.1.3. 含有的版本的Get例子

下面的Get操做会得到最近的3个版本。

        Get get = new Get(Bytes.toBytes("row1"));         get.setMaxVersions(3);  // will return last 3 versions of row
        Result r = htable.get(get);
        byte[] b = r.getValue(Bytes.toBytes("cf"), Bytes.toBytes("attr"));  // returns current version of value
        List<KeyValue> kv = r.getColumn(Bytes.toBytes("cf"), Bytes.toBytes("attr"));  // returns all versions of this column

http://blog.csdn.net/wind520/article/details/39344805   (API实现 )

相关文章
相关标签/搜索