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

相关推荐
清华kenny几秒前
美业经营者如何筛选中医健康系统?避坑与推荐
大数据·人工智能·安徽晓得养
花间相见2 分钟前
【计算基础|MySQL17】三大日志:undo / redo / binlog
数据库·后端·面试
严同学正在努力2 分钟前
PostgreSQL 数据库安装部署教程(Linux 多发行版 + Windows + Docker 全覆盖)
linux·数据库·postgresql
众链网络5 分钟前
年卡跨淡旺季的有效期模型:不可用日期、次数与顺延规则
java·前端·数据库
启信慧眼.22 分钟前
有什么企业尽调的平台
大数据
shunwahma26 分钟前
MySQL 替代选型,为什么首选 OceanBase 集中式?
数据库·mysql·oceanbase
n 55!w !10836 分钟前
MySQL数据库笔记整理1
数据库·笔记·mysql
vailee39 分钟前
42 万字符的工具输出压进 6,945 token:Agent 长会话的上下文治理实践
java·大数据·人工智能·prompt工程·rag·上下文管理
李兆龙的博客1 小时前
从一到无穷大 #104:面向 SSD 的数据库写入设计——从 FTL 到应用协同
数据库·ssd·存储引擎
千桐科技1 小时前
qData 数据中台开源版 v1.6.4 发布:聚焦使用反馈,功能细节与产品体验持续优化
数据库·开源·qdata