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

相关推荐
智慧化智能化数字化方案9 分钟前
数据治理进阶——解读大数据治理主数据管理规划设计方案【附全文阅读】
大数据·数据治理·主数据管理规划
Hello.Reader11 分钟前
Flink 大状态 Checkpoint 调优让 Checkpoint 跑得稳、恢复追得上
大数据·flink
是做服装的同学11 分钟前
如何选择适合企业的优质服装软件ERP系统?
大数据·经验分享·其他
王德印14 分钟前
工作踩坑之导入数据库报错:Got a packet bigger than ‘max_allowed_packet‘ bytes
java·数据库·后端·mysql·云原生·运维开发
数据知道15 分钟前
PostgreSQL:如何直接在数据库中查询 CSV/JSON文件?
数据库·postgresql·json
Elastic 中国社区官方博客15 分钟前
Elasticsearch 9.3 增加 bfloat16 向量 支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
XLYcmy34 分钟前
智能体大赛 核心功能 惊喜生成”——创新灵感的催化器
数据库·ai·llm·prompt·agent·检索·万方
AI_567836 分钟前
ableau可视化进阶:颜色与交互设计让数据会说话
数据库·云原生·excel
A小码哥37 分钟前
Claude 今天发布了 Sonnet 4.6, 深度对比:sonnet vs Opus,如何选择最适合你的模型?
大数据·数据库·人工智能
破晓之翼39 分钟前
关于AI应用开发需要了解专有名词解释和实际作用
大数据·人工智能