首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hbase如何找到最新版本的数据?

hbase如何找到最新版本的数据?
EN

Stack Overflow用户
提问于 2018-03-09 13:49:50
回答 1查看 593关注 0票数 1

在我的理解中,habase应该遍历hfile的一部分,以便找到所需的数据。我做了以下体验:

我使用以下命令创建了一个表:

代码语言:javascript
复制
create 'test', {'NAME' => 'cf', VERSIONS => 1}

然后我插入一行:

代码语言:javascript
复制
put 'test', 'row1', 'cf:a', 'data1'

在get命令get 'row1'中,您可以看到以下输出:

代码语言:javascript
复制
COLUMN                CELL
cf:a                 timestamp= 1520570145471, value=data1 

在那之后,我插入了很多数据,以便让hbase将数据刷新到hfile中,总共100000行,并使用如下命令刷新:

代码语言:javascript
复制
flush 'test'

最后,我通过下面的命令更新第一个插入的行:

代码语言:javascript
复制
put 'test', 'row1', 'cf:a', 'data2', 1520570145371

您必须注意的是,更新时间戳比以前的时间戳要小。然后我发现hbase也可以找到大版本的数据,hbase怎么做呢?hbase是否扫描所有hfile以查找此行的所有版本?

EN

回答 1

Stack Overflow用户

发布于 2018-03-09 14:48:46

根据版本,{行,列,版本}元组精确地指定HBase中的一个单元格。HBase版本维度按降序存储,以便在从存储文件读取时,最先找到最新的值。

默认情况下,当执行get时,会返回其版本值最大的单元格(可能是也可能不是最新写入的单元格)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49187383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档