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意义何在?

相关推荐
团象科技12 分钟前
当出海合规压力持续上升时,多云服务容易忽略哪些细节
大数据·微服务·架构
todoitbo14 分钟前
CTE 与外层 JOIN 的条件下推:原理、边界与验证方法
数据库·join·cte
TEC_INO19 分钟前
Linux56:读取人脸图片并把特征值保存到sqlite3数据库
数据库·oracle
刘~浪地球19 分钟前
MongoDB分片集群实战:水平扩展海量数据
数据库·mongodb
鸽芷咕21 分钟前
KingbaseES中的PL_SQL编程:存储过程、函数、触发器与包的开发指南
数据库·sql·oracle
4311媒体网28 分钟前
帝国CMS新手入门教程:从零开始掌握企业级建站系统
数据库
韩小兔修媛史29 分钟前
Redis面试八股文总结
数据库·redis·面试
AC赳赳老秦30 分钟前
故障自愈实战:用 OpenClaw 实现服务器日志自动化分析、根因定位、解决方案自动生成
大数据·运维·服务器·自动化·github·deepseek·openclaw
小则又沐风a34 分钟前
Linux下的Git的上传(版本控制器)
linux·数据库·git
赵渝强老师35 分钟前
【赵渝强老师】PostgreSQL的数据预热扩展pg_prewarm
数据库·postgresql