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

效果图如下图所示

相关推荐
蓝速科技3 分钟前
蓝速科技丨多网点涉外窗口翻译机批量部署实战指南
服务器·数据库·人工智能·缓存·语音识别
pjj198544 分钟前
Hadoop-python中使用大数据
大数据·hadoop·python
2601_9670195111 分钟前
免费SSL与商业SSL证书对比:企业生产环境适用性评估
数据库
QYR-分析12 分钟前
超分辨显微镜行业市场现状、竞争格局及发展前景分析
大数据·人工智能
优德普ERP数字化16 分钟前
AI+QMS+MES落地化工设备制造追溯:对象、事件、接口和审核怎么组织
大数据·qms·mes·优德普·针孔检测·化工设备质量追溯·搪玻璃反应釜
小白羊丨20 分钟前
为什么微调而不是大模型 + Prompt?正确率如何得到,是否过拟合?
大数据·人工智能·prompt
小诗懂技术21 分钟前
【sqlite3数据库】一站式学会 增删改查 以及数据库c接口编程
数据库·sqlite
风123456789~26 分钟前
【架构专栏】第6章 数据库设计基础知识 4/4
数据库·架构
其实防守也摸鱼32 分钟前
CVE / NVD 漏洞数据库详解:从入门到实战
大数据·运维·人工智能·web安全·自动化
木圭的AI时代指南37 分钟前
为了跑星火Spark-X2.5,我把 llama.cpp 重新编译了一遍
大数据·人工智能·ai·语言模型