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 分钟前
PostgreSQL 14 源码编译安装实战:RHEL 8 离线环境从零到可用
数据库·postgresql
ss2733 分钟前
AI时代首先数据库-PostgreSQL实战笔记 | 23 PostgreSQL数据库文件系统与数据页结构
数据库·笔记·postgresql
LMT流氓兔5 分钟前
第五单元——第10课:用自动化测试验证工具逻辑
数据库·ai·oracle·langchain
小小AK15 分钟前
生产入库单同步实战:MySQL 到金蝶云星空的带料委外场景拆解
数据库·mysql
凤凰院凶涛QAQ17 分钟前
《MySQL内核拆解:从SQL到InnoDB》(一) : 数据库基础&库操作&数据类型
数据库·sql·mysql
360智汇云21 分钟前
隔离VPC标准路径:出公网链路的设计与实现
android·服务器·数据库
紫金桥软件25 分钟前
紫金桥国产组态软件:安全稳定护航工业现场
数据库·自动化·跨平台·scada·组态软件
Zhao-Jichao29 分钟前
赛道 A:啤酒酿造化合物分析与啤酒风味预测,2026 年 MathorCup 数学应用挑战赛——大数据竞赛
大数据
qq_4369621834 分钟前
金蝶云星空数据分析怎么做?
java·数据库·数据分析
瓶瓶持续学习中34 分钟前
数字孪生到空间智能,5家厂商的技术路线有何不同?
大数据·人工智能·信息可视化·架构