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

效果图如下图所示

相关推荐
五度易链-区域产业数字化管理平台5 分钟前
从编制规范到落地应用,新版可研报告撰写全流程指南
大数据·人工智能
我是一颗柠檬8 分钟前
【Java项目技术亮点】全链路分层限流:从网关到数据库的多层防护体系
java·开发语言·数据库
lauo14 分钟前
ibbot手机青春版:AI时代真正的生产力革命——从联想小新Air 13看智能设备的分水岭
大数据·人工智能·智能手机
器灵科技17 分钟前
DeepSeek V4 Pro宣称:超GPT-5.5+永久降价75%
大数据·人工智能·gpt·阿里云·ai·语言模型
xhtdj18 分钟前
技术采用曲线回望二十年
运维·数据库·人工智能·clickhouse·动态规划
yyoc9723 分钟前
本地 Flink on K8s + Iceberg + MinIO 实时数仓平台 — AI部署指南与踩坑实录
大数据·ai·flink·kubernetes·iceberg
阿坤带你走近大数据38 分钟前
flink的架构介绍
大数据·架构·flink
油炸自行车40 分钟前
【bug】Qt 6 Q_NAMESPACE 跨 DLL 链接错误:LNK2019 无法解析 staticMetaObject
数据库·c++·qt·bug·link2019·q_namespace_exp·namespaceexport
2501_9467862044 分钟前
2026算法分级分类备案TOP5解读——吃透差异化监管,规避过度合规风险
大数据
IPDEEP全球代理1 小时前
TikTok为什么封号?应该怎么解决?(附IP环境解决方案)
大数据