HBase 表如何按照某表字段排序后顺序存储的方法?

首先需要明白HBase表的排序规则:

(1)rowkey排序(字典排序)------升序

(2)Column排序(字典排序)------升序

(3)时间戳排序------降序

rowkey 字典序排序可点击下方链接了解。

[HBase] - 理解 HBase Rowkey 字典排序https://www.jianshu.com/p/d4609b5bb9f3

如果想按照某列字段来排序,则需要再设计该表的rowkey上做文章,既满足字典排序,又能按照想要的字段排序来存储数据。

下面给出我的一个设计思路,仅供参考

业务需求:按照 发布日期 listdate 降序排列数据

伪代码:

sql 复制代码
---- 在设计rowkey时做文章

---对基础表数据进行排序(row_number()函数)
--第一步
select
a.*,
ROW_NUMBER() over( order by listdate asc) as rn
from
XXX.t_XXX a

--第二步
- 综合考虑字典排序的规则,及预估表数据量,设定一个较大的数值(比如99999999)作为rowkey设计子字段

insert into XXX.XXXXX
select
concat(99999999 - a.rn, '_', a.XXXX_code) as rowkey,
a.*
from 
(
select
a.*,
ROW_NUMBER() over( order by listdate asc) as rn
from
XXX.t_XXX a
) a

最后的实现效果是,存储在HBase的数据,是按照listdate 降序顺次存储,方便后续开发api接口,返回数据。

效果图如下图所示

相关推荐
happyboy198621115 分钟前
2026大专财富管理可以转数据分析吗?
数据库·数据挖掘·数据分析
杰克尼16 分钟前
苍穹外卖--day11
java·数据库·spring boot·mybatis·notepad++
职豚求职小程序17 分钟前
东软集团题库笔试测评系统练习笔试2026新版
大数据·汇编·人工智能
LaughingZhu21 分钟前
Product Hunt 每日热榜 | 2026-03-12
大数据·数据库·人工智能·经验分享·搜索引擎
白云如幻25 分钟前
【JDBC】面向对象的思路编写JDBC程序
java·数据库
艾莉丝努力练剑38 分钟前
【Linux进程间通信:共享内存】为什么共享内存的 key 值由用户设置
java·linux·运维·服务器·开发语言·数据库·mysql
几分醉意.1 小时前
先发制人:用 Bright Data 抢先捕捉 TikTok 爆款内容(附实战案例)
java·大数据·人工智能
袋鼠云数栈1 小时前
能源矿产行业 Data + AI 数智化全景解决方案——构建集团级智慧运营生产体系的系统路径
大数据·人工智能·能源·数据治理
双层吉士憨包1 小时前
Google Voice保号教程
大数据·服务器·人工智能
悲伤小伞2 小时前
Git_原理及使用_撤销修改_删除文件
数据库·git