hbase的rowkey设计之字典顺序

【大数据学习 | HBASE高级】rowkey的设计,hbase的预分区和压缩 regionserver堆栈内存大小,官方推荐每台regionserver内存大小设置20-24G,不推荐设置更大,因为更大的堆栈内存GC效率较低。,rowkey的设计至关重要,会影响region分布,如果rowkey设计不合理还会出现region写热点等一系列问题。需求:hbase存储的是用户的交易信息, 我想查某个用户在某个时间段内的交易记录,如何设计rowkey。用户id(md5), 用户名称, 交易时间, 交易金额, 交易说明。,或者数据在刚开始插入的数据都在一个region中,使得。 阅读详情

大家都知道hbase在存储rowkey的时候是按照字节的字典顺序来排序和存储的。但这个字典序是什么其实说起来简单,理解起来可能有些同学不是十分清楚,今天我就来描述下这个问题。

首先,大家需要对ascii码表有个清晰地认识。比如说为什么“19”的字典顺序是在“2”的前面呢。因为在hbase中rowkey是按照每一个字节的顺序比较的,先比较第一个字节,如果第一个字节小就不比较后面的了,如果第一个字节相同比较第二个字节的大小,以此类推。所以“19”是两个字节,第一个字节的ascii码是49,比“2”的ascii的50小,所以字符串的19字典顺序比字符串小。

上面比较了字符串的顺序, 下面说下数字的字符串顺序。在数据类型为int的值中,19的byte数组的值肯定是比数字2的大的。

在hbase开发中,可以设定第一个字节数组的分区,然后使用Bytes.copy(a,b).a是第一个字节数组,后面可以拼很多字节数组,因为region是按照a字节分区的,所以数据入库后会按照先按照a字节做字典序排序,以此类推,后面的字节以此排序。这样可以避免数据热点问题。

还有一点要注意的,逻辑上连贯的数据在入库时最好物理存储上也一致,这样可以快速扫描出结果返回给客户端。比如我想查找某个用户的记录,可以按照用户ID来查找,关于这个用户的行为都是连续的存储在一起的,无论是物理还是逻辑。

大数据之Hbase(五):HBase表设计、特点及需要考虑的问题、HBase表设计案例: 社交应用互粉信息表 文章目录5.5 HBase表设计1 HBase表设计特点及需要考虑的问题2 HBase表设计案例: 社交应用互粉信息表 5.5 HBase表设计 1 HBase表设计特点及需要考虑的问题 设计HBase表时需要注意的特点 HBase中表的索引是通过rowkey实现的 在表中是通过Row key的字典顺序来对数据进行排序的, 表中Region的划分通过起始Rowkey和结束Rowkey来决定的 ... 阅读详情

相关推荐

大白话彻底搞懂HBase RowKey详细设计

本文从RowKey的原理,可能出现的问题,如何优化及各个优化措施对应的缺点和适用的场景,设计原则等角度对RowKey进行了详细全面的解析,相信一定能对你有所帮助。

静待花开 2万+

hbase rowkey 设计(三维有序)

转载自:http://ronxin999.blog.163.com/blog/static/4221792020130109202973?suggestedreading 看这篇文章,你首先要了解hbase的基本存储模型,不懂的可以看我的文章,有做特别的说明。 今天难得有时间,写博文,特地总结下一直想写hbase的实践经验,在用hbase的过程中,我们都知道,rowkey设计的好坏,是我们能最

lxf310的专栏 6140

HBase的Rowkey设计(mark)

在HBase中细节上的设计,最最最重要的就是我该选取什么做Rowkey,Rowkey的选择,最直接的影响就是对你之后分析数据的影响了。 Rowkey是不可分割的字节数,按照字典排序由低到高存储在表中。一个空的数组用来标识表空间的起始或结尾。 在设计HBase表时,Rowkey设计是最重要的事情,应该基于预期的访问模式来为Rowkey建模。Ro...

我们的征途是星辰大海 1655

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

如果想按照某列字段来排序,则需要再设计该表的rowkey上做文章,既满足字典排序,又能按照想要的字段排序来存储数据。最后的实现效果是,存储在HBase的数据,是按照listdate 降序顺次存储,方便后续开发api接口,返回数据。[HBase] - 理解 HBase Rowkey 字典排序。rowkey 字典序排序可点击下方链接了解。下面给出我的一个设计思路,仅供参考。(1)rowkey排序——升序。(2)Column排序——升序。(3)时间戳排序——降序。

元元的李树专栏 1676

HBase总结(十八)Hbase rowkey设计一

hbase所谓的三维有序存储的三维是指:rowkey(行主键),column key(columnFamily+qualifier),timestamp(时间戳)三部分组成的三维有序存储。 1.rowkey,我们知道rowkey是行的主键,而且hbase只能用个rowkey,或者一个rowkey范围即scan来查找数据。所以 rowkey的设计是至关重要的,关系到你应用层的查询效率。我们知道

Java海洋 4万+

threejs开发可视化数字城市效果

theme: condensed-night-purple 灵感图 现在随着城市的发展,越来越多的智慧摄像头,都被互联网公司布到城市的各个角落,举一个例子,一个大楼上上下下都被布置了智能摄像头,用于监控火势,人员进出,工装工牌佩戴等监控,这时候为了美化项目,大公司都会将城市的区域作为对象,进行3d可视化交互,接下来的内容,就是基于以上元素,开发的一款城市数据可视化的demo,包含楼宇特...

weixin_41770018的博客 1579

理解Hbase RowKey的字典排序,以及设计

理解Hbase RowKey的字典排序,以及设计 写点自己的理解和实践。 HBase是三维有序存储的,是指rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度是依照ASCII码表排序的。(比如A排在a前面) 先rowkey升序排序, rowkey相同则column key升序排序 rowkey、column ...

业精于勤,荒于嬉;行成于思,毁于随 1万+

python DEA: 基于非径向距离NDDF的Malmquist-Luenberger 指数及其分解

点赞发Nature 关注中Science Malmquist-Lenberger指数(ML指数)是距离函数与DEA计算中常用的指数,ML指数可以进一步分解为技术进步technological progress和效率改善effeciency change. 技术进步常被当做增长模型中的全要素生产率,用到许多计量经济研究中,探讨影响技术进步的环境变量。这里我分享一个考虑非期望产出下的NDDF方法计算ML指数。 该ML指数为global ML(区别于sequential ML) import numpy as

Cmmmmm丶的博客 5295

HBase - Rowkey 设计 | 那伊抹微笑

博文作者:妳那伊抹微笑 csdn 博客地址:http://blog.youkuaiyun.com/u012185296 itdog8 地址链接 : http://www.itdog8.com/thread-192-1-1.html 博文标题:HBase - Rowkey 设计 | 那伊抹微笑 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:F

妳那伊抹微笑的专栏 1082

信息化建设项目前期方案编制4:如何画好四张图

这里探讨以下具体的总体设计操作层面的工作。总体设计主要是完成四张图,总体架构(逻辑架构)、应用架构、网络拓扑、系统部署图。对于一些单一的系统,往往总体架构和应用架构可以合一。网络拓扑画好了,系统部署图也可以省略。有些项目还会在这之外,有所谓的技术架构图。对应用系统、数据存储等各个部分各自用的主要技术、服务等,给出总体设计图。但通常来说,这四张图在一个中等规模(200~500万,软件...

Leonardo的博客 4634

盘点军工行业软件研发的那些常用GJB标准

GJB5000、2786、438、141、102、8114等...

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 9434

【HBase】热点现象及 RowKey 设计(转)

原文链接:https://blog.youkuaiyun.com/qq_26803795/article/details/105994960?spm=a2c6h.12873639.0.0.62201019lo19Jq RowKey 作为 HBase 的核心知识点,RowKey 设计会影响到数据在 HBase 中的分布,还会影响我们查询效率,所以 RowKey 的设计质量决定了 HBase 的质量。是大数据从业者必知必会的,自然也是面试必问的考察点。 那么 Rowkey 到底是什么呢?原理是什么呢?怎么设计 Row.

A minor 2134

WPF进阶 | 深入 WPF 依赖项属性:理解其强大功能与应用场景

WPF进阶 | 深入 WPF 依赖项属性:理解其强大功能与应用场景,在 Windows Presentation Foundation(WPF)开发中,依赖项属性是一个核心且强大的特性,它为构建灵活、可扩展的用户界面提供了关键支持。理解并熟练运用依赖项属性,对于开发高效、健壮的 WPF 应用程序至关重要。本文将深入探讨 WPF 依赖项属性,通过丰富的代码示例和对关键概念的详细解释,帮助读者全面掌握这一重要特性及其应用场景。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 4万+

hbase rowkey实例_案例篇-HBase RowKey 设计指南-阿里云开发者社区

1.为什么 Rowkey 这么重要1.1 RowKey 到底是什么我们常说看一张 HBase 表设计的好不好,就看它的 RowKey 设计的好不好。可见 RowKey 在 HBase 中的地位。那么 RowKey 到底是什么?RowKey 的特点 如下:类似于 MySQL、Oracle 中的主键,用于标示唯一的行;完全是由用户指定的一串不重复的字符串;HBase 中的数据永远是根据 Rowkey ...

weixin_39631649的博客 189

FM收音机调试-RDA5807M

收音机调试 IC型号:RDA5807M

mangofu的博客 6163

【通信协议】GATT 与 BLE HID 工作原理详解

详细介绍BLE HID 跟GATT工作原理与两者的交互关系

以实战经验介绍行业知识 843

HBase-Rowkey设计

​ 1什么是Rowkey Hbase中一条数据的唯一标识就是Rowkey,类似于关系型数据库中的主键,HBase中的数据是根据Rowkey的字典顺序来排序的。 那么这条数据存储于哪个分区,取决于Rowkey处于哪一个预分区的区间内,设计Rowkey的主要目的 ,就是让数据均匀的分布于所有的Region中,在一定程度上防止数据倾斜。尽量在访问的时候不会出现热点现象 2什么是热点 因为HBase中的行是按照Rowkey的字典顺序排序...

我的祖传代码 764

NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧

NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧

丨汀、的博客 4327

智慧出行/HBase-一劳永逸解决Hbase数据热点问题:2rowkey负载均衡设计

1.hbase热点问题是什么? 数据倾斜到一个节点,其余节点空转 2.出现haase热点的原因是什么? 出现haase热点情况一定是这两个原因: rowkey设计太low 没有做预分区 3.设计hbase经验 rowkey设计原则:唯一,如果不唯一数据就会被覆盖,2散列的,防止出现hbase热点问题,3,字典 rowkey长度设计2的整数倍16,32,64,最长不超过64位.只有这样才可以使用高速缓存,如果不是这些,不能被64整除,就只能使用主机内存,那是比较慢的(最快是寄存器,其次是高速缓存,再往后是

weixin_45154559的博客 289

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

CC00022.kylin——|Hadoop&OLAP_Kylin.V22|——|Kylin.v22|Cube优化|Rowkeys|编码/顺序/分片|

一、Rowkeys ### --- Rowkeys ~~~ 简单的说Cuboid的维度会映射为HBase的Rowkey,Cuboid的指标会映射为HBase的Value。 二、Rowkeys示例说明 ### --- Rowkeys示例说明 ~~~ # 如上图原始表所示: ~~~ Hive表有两个维度列year和city,...

yanqi_vip 149

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

CC00011.hbase——|Hadoop&HBase.V11|——|HBase.v11|布隆过滤器|二级索引|

一、大纲 ### --- [HBase] ~~~ [HBase表热点] ~~~ [HBase二级索引] ~~~ [HBase中布隆过滤器] 二、HBase表的RowKey设计:RowKey的基本介绍:ASCII码字典顺序。 ### --- HBase表的RowKey设计:RowKey的基本介绍:ASCII码字典顺序。 ~~~ 字典序...

yanqi_vip 219

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

HBase的RowKey详解、RowKey设计原则和RowKey优化方法

HBase的RowKey详解、RowKey设计原则和RowKey优化方法

xdx_dili的博客 7610

HBase RowKey设计

检索habse的记录首先要通过row key来定位数据行。当大量的client访问hbase集群的一个或少数几个节点,造成少数region server的读/写请求过多、负载过大,而其他region server负载却很小,就造成了“热点”现象。

爱是与世界平行 2184

HBase的RowKey设计

HBase是三维有序存储的,通过rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度可以对HBase中的数据进行快速定位。HBase中rowkey可以唯一标识一行记录,在HBase查询的时候,有三种方式:通过get方式,指定rowkey获取唯一一条记录通过scan方式,设置startRow和stopRow参数进行范围匹配全表扫描,即直接扫描整张表中所有行记录。

a_black03的博客 1304
上一篇: hbase调优
下一篇: kafka学习笔记
爪爪的瓜瓜
博客等级 码龄14年 5粉丝 38原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值