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

相关推荐
chushiyunen2 分钟前
postgresql安装timescaledb替代influxdb功能、查看已安装的插件
数据库·postgresql
duke8692672145 分钟前
C#怎么获取U盘的插拔事件_C#如何重写WndProc捕获消息【进阶】
jvm·数据库·python
数据库小学妹9 分钟前
CDC实时数据同步:让数据库变更秒级流向大数据平台!
大数据·数据库·mysql·kafka·dba
m0_6908258211 分钟前
如何高效实现多用户通知系统而不造成数据库冗余
jvm·数据库·python
XZ-07000113 分钟前
MySQL-视图
数据库·mysql
2301_8125396715 分钟前
golang如何使用Fiber高性能框架_golang Fiber框架入门教程
jvm·数据库·python
小仙女的小稀罕16 分钟前
适合企业行政开工作会议的,一加会议转任务工具
大数据·人工智能
2401_8800714017 分钟前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python
2401_8504916519 分钟前
如何管理多个监听器_listener.ora中非默认端口配置实战
jvm·数据库·python
2301_7815714222 分钟前
Go语言如何用sqlx_Go语言sqlx数据库操作教程【入门】
jvm·数据库·python