HBase创建表指定版本和未指定版本区别有哪些

发布时间:2021-12-08 14:57:02 作者:小新
来源:亿速云 阅读:567

这篇文章主要介绍HBase创建表指定版本和未指定版本区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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

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

HBase创建表指定版本和未指定版本区别有哪些

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

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

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

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

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

HBase创建表指定版本和未指定版本区别有哪些
 

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

看到的最后一条记录。

HBase创建表指定版本和未指定版本区别有哪些
 

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

可以修改VERSIONS:alter 'member',{NAME=>'info','VERSIONS'=>2}

HBase创建表指定版本和未指定版本区别有哪些
 

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


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}
 


 

HBase创建表指定版本和未指定版本区别有哪些

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

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

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

参详api解释:

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

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

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

以上是“HBase创建表指定版本和未指定版本区别有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 学习日志---hbase学习(最大版本查询)
  2. git 恢复某个文件到指定版本

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hbase

上一篇:scala传名参数怎么使用

下一篇:scala的包怎么创建和导入

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》