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接口,返回数据。

效果图如下图所示

相关推荐
Flynt5 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
笃行3505 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
数据库
Ivanqhz6 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
workflower6 小时前
AI system product quality model
大数据·人工智能·机器学习·云计算·无人机
yl45306 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
java1234_小锋7 小时前
【技术专题】Mysql8 数据库 - Mysql8 数据类型简介
数据库·mysql
xianghongtao01167 小时前
麦肯锡2026技术趋势02_智能体AI_研究解读
大数据·人工智能
知行EDI7 小时前
知行之桥 MaBang 端口使用指南——Create Order 订单创建篇
java·服务器·数据库
数字化顾问7 小时前
(138页PPT)四大咨询矿业集团流程梳理与优化报告(附下载方式)
大数据·人工智能
成旭先生7 小时前
【2026】企业信息模糊查询 API 实战:名称、注册号、统一社会信用代码、企业类型与法人一次查全
服务器·数据库·数据服务