hbase中scan和get查看版本数据的区别

一:查看当前所用表

hbase中scan和get查看版本数据的区别_第1张图片


二:scan扫描全表数据

hbase中scan和get查看版本数据的区别_第2张图片

说明:scan全表扫描出来的数据都是目前时间戳最新的数据。


三:利用scan查看同一个cell之前已经put的数据(scan时可以设置是否开启RAW模式,开启RAW模式会返回已添加删除标记但是未实际进行删除的数据)

说明:虽然已经put覆盖了之前同一个cell的数据,但是实际上数据并没有进行删除,只是标记删除了,利用RAW模式可以看到。红线的是添加删除标记,但是实际上没有删除的。

hbase中scan和get查看版本数据的区别_第3张图片


四:get获取某个cell保留的(未添加删除标记)的所有version数据(在describe 表名,查看列族VERSIONS是多少,get就会多少数据(cell的数据大于等于VERSIONS的数量))

hbase中scan和get查看版本数据的区别_第4张图片

在第三步的scan扫描包括添加删除标记在内的所有数据,可以看到rowkey为1001的b:name有4个,但是第四步观察到b列族的版本是3,因此实际上b:name=wangwu是已经添加删除标记的,所有get便不会出来,get只会出来保留的未添加删除标记的版本,总共有3个,所以会出来最新的3个数据,如图

hbase中scan和get查看版本数据的区别_第5张图片

这边,VERSIONS最大值只能取得和describe中描述的VERSIONS数一样。

你可能感兴趣的:(hbase,get,scan,verison版本,put数据)