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 小时前
NoSQL 简单讲解
数据库·nosql
聪明的墨菲特i1 小时前
SQL进阶知识:四、索引优化
数据库·sql·mysql·database·索引·db2
Harbor Lau2 小时前
IDEA连接达梦数据库
数据库
大刘讲IT5 小时前
数据治理体系的“三驾马车”:质量、安全与价值挖掘
大数据·运维·经验分享·学习·安全·制造·零售
我该如何取个名字5 小时前
Mac mini 安装mysql数据库以及出现的一些问题的解决方案
数据库·mysql·macos
悻运6 小时前
Spark论述及其作用
大数据·分布式·spark
曹弘毅6 小时前
doris/clickhouse常用sql
数据库·sql·clickhouse·doris
szxinmai主板定制专家6 小时前
国产RK3568+FPGA以 ‌“实时控制+高精度采集+灵活扩展”‌ 为核心的解决方案
大数据·运维·网络·人工智能·fpga开发·机器人
菜萝卜子6 小时前
【Redis】redis主从哨兵
数据库·redis·缓存
蒂法就是我6 小时前
MySQL 的锁,表级锁是哪一层的锁?行锁是哪一层的锁?
数据库·mysql