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

这篇具有很好参考价值的文章主要介绍了HBase 表如何按照某表字段排序后顺序存储的方法?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

(1)rowkey排序(字典排序)——升序
(2)Column排序(字典排序)——升序
(3)时间戳排序——降序

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

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

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

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

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

伪代码:

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

效果图如下图所示

HBase 表如何按照某表字段排序后顺序存储的方法?,hbase,数据库,大数据文章来源地址https://www.toymoban.com/news/detail-725845.html

到了这里,关于HBase 表如何按照某表字段排序后顺序存储的方法?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Springboot Mybatis 自定义顺序排序查询,指定某个字段

    与本文无关  \\\"我进去了\\\"  ....... 今天要讲些什么?  其实很简单,就是查询数据的时候,想根据自己指定的字段的自定义顺序,做排序查询数据。 本篇文章会讲到的几个点 : 1. 单纯sql 怎么实现 排序 2. 单纯sql 怎么实现 自定义排序 3. 结合java ,怎么排序 4. 结合mybatis 怎么把

    2024年02月08日
    浏览(46)
  • 【数据结构之二叉树简介·顺序存储·应用:堆·堆排序·TOPK问题】

    ​ 🕺作者: 迷茫的启明星 😘欢迎关注:👍点赞🙌收藏✍️留言 🎃相关文章 【数据结构从0到1之树的初识】 【数据结构】带你学会二叉树的链式存储的前中后序遍历,遍历推导及利用队列实现二叉树的层次遍历。 🏇家人们,码字不易,你的👍点赞🙌收藏❤️关注对我

    2024年02月01日
    浏览(37)
  • 在word的文本框内使用Endnote引用文献,如何保证引文编号按照上下文排序

    如下图所示,我在word中插入了一个文本框(为了插图),然后文本框内有引用,结果endnote自动将文本框内的引用优先排序,变成文献[1]了,而事实上应该是[31]。请问如何能让文本框内的排序也自动按照整个文章从上到下的顺序来呢?[引用自这里] 文本框中不支持尾注(和脚

    2024年02月13日
    浏览(56)
  • 数据模型:HBase如何存储和管理数据

    HBase是一个分布式、可扩展、高性能的列式存储系统,基于Google的Bigtable设计。它是Hadoop生态系统的一部分,可以与HDFS、MapReduce、ZooKeeper等其他组件集成。HBase的核心功能是提供高速、高可靠的读写访问,同时支持大规模数据的随机读写操作。 HBase的设计目标是为大规模数据应

    2024年01月25日
    浏览(33)
  • OpenCV读取图像时按照BGR的顺序HWC排列,PyTorch按照RGB的顺序CHW排列

    在OpenCV中,读取的图片默认是HWC格式,即按照高度、宽度和通道数的顺序排列图像尺寸的格式。我们看最后一个维度是C,因此最小颗粒度是C。 例如,一张形状为256×256×3的RGB图像,在OpenCV中读取后的格式为[256, 256, 3],其中最后一个维度表示图像的通道数。在OpenCV中,可以通

    2024年02月04日
    浏览(41)
  • SQL 查询中按多个字段排序的方法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在 SQL 查询中,经常需要按多个字段对结果进行排序。本文将介绍如何使用 SQL 查询语句按多个字段进行排序,提

    2024年02月12日
    浏览(36)
  • c#让三个线程按照顺序执行

    三个线程都是while(true)的循环体 A线程:采集数据 B线程:画曲线 C线程:存数据库 AutoResetEvent 是一个线程同步的类,它提供了一种机制,允许一个或多个线程等待直到接收到信号,然后继续执行。 以下是 AutoResetEvent 的一些常用成员: WaitOne() :使当前线程等待接收信号。

    2024年02月02日
    浏览(37)
  • Java List按照某字段去重

    Java8流的新类java.util.stream.Collectors实现了java.util.stream.Collector接口,同时又提供了大量的方法对流(stream)的元素执行各种统计操作。 执行结果如下 但是这种方式必须要 每个键值对都一样,才会被判定成重复的 ,否则不会被判为重复,如下。 执行结果如下 虽然name的值一样,但

    2024年02月06日
    浏览(54)
  • C# 多线程交替按照指定顺序执行

    1.关于AutoResetEvent和ManualResetEvent的区别解释如下: AutoResetEvent和ManualResetEvent是.NET中的两个线程同步类。它们之间的主要区别在于其释放信号的方式以及对等待线程的影响。 AutoResetEvent的作用是在等待的线程被信号唤醒后,将信号自动重置为非终止状态。也就是说,当一个线程

    2024年02月11日
    浏览(38)
  • Mysql 把某一列字段按照逗号分割

        该查询语句的目的是从 sys_user 表的 auth 列中将数据按逗号拆分成多行,并返回其中不重复的值。 首先,它使用子查询 (SELECT auth col FROM sys_user WHERE user_id = \\\'137\\\') AS a 来获取 sys_user 表中 user_id 为\\\'137\\\'的记录的 auth 列,并将其命名为 col 。 然后,它通过连接 mysql.help_topic 表(

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包