HBase API设置列族的VERSION【留给有缘人】

前言

关于如何使用 hbase api去设置hbase中数据的version这个问题,本人浏览器都快搜烂了,没找到!无奈只能找找源码,有所得,遂记录,留给有缘人。

直接上代码

想使用hbase的VERSION功能需要两步,一个是在创建列族的时候指定存储多少个VERSION,一个是在scan的时候指定要读多少个VERSION,缺一不可!

复制代码
// 创建列族的时候指定最大Version数(最大保留多少个版本)
TableDescriptor desc = TableDescriptorBuild
.newBuilder("test")
.setColumnFamily(
ColumnFamilyDescriptorBuilder
.newBuilder(Bytes.toBytes("cf_0"))
.setMaxVersions(10) // 主要是这里
.build())
.build()

// scan的时候指定要搜索多少个version
Scan s = new Scan();
s.addFamily(Bytes.toBytes("cf_01"))
s.readAllVersions(); // 主要就是这里配置
Scanner scanner = table.getScanner(s);
for (Result : scanner) {
	Cell[] cells = result.rawCells(); // 这里就可以得到多个版本的数据了
}

笔者还想问点东西

笔者其实还有一些不明白的地方,有懂哥请帮忙解答一下,Cell中有一个type变量,存储的是Put,Delete等类型,但是我scan的时候,只看到了Put,不太明白什么情况下能扫描到Delete类型的Cell?Delete类型的Cell意义何在?

相关推荐
枕布响丸辣1 分钟前
MySQL 数据库备份与恢复全攻略:从基础到实战
数据库·oracle
IvorySQL5 分钟前
PostgreSQL 技术日报 (3月31日)|五大内核模块补丁评审与问题修复汇总
数据库·postgresql·开源
IvorySQL10 分钟前
最后 1 天!HOW 2026 早鸟票收官,赴济南解锁开源数据库未来
数据库·postgresql·开源
一休哥※18 分钟前
ClawTeam 完整使用教程:用 AI 多智能体团队自动完成复杂任务
大数据·人工智能·elasticsearch
PacosonSWJTU20 分钟前
(转)mybatis拦截器
数据库·redis·mybatis
yitian_hm30 分钟前
HBase 原理深度剖析:从数据模型到存储机制
大数据·数据库·hbase
Anastasiozzzz31 分钟前
深入研究RAG: 向量数据库 原理&选型
数据库
Yushan Bai1 小时前
RAC环境数据文件读取异常导致实例重启
数据库·oracle
小猿姐1 小时前
当KubeBlocks遇上国产数据库之Kingbase:让信创数据库“飞得更高”
运维·数据库·云原生
小李的便利店1 小时前
系统架构设计师-案例分析-数据库系统设计
数据库·系统架构