hbase 根据需求创建组合索引(组合rowkey)及组合索引创建规则

本文介绍了在HBase中如何利用组合rowkey来解决表关联查询效率低下的问题。通过创建用户ID和文章ID的组合主键,实现对特定用户文章的高效检索。在HBase的article表结构中,使用'user_id+_+article_id'作为rowkey,通过设置Scan对象的开始和结束键来定位特定用户的所有文章,如'Scan scan = new Scan(Bytes.toBytes("1_1"), Bytes.toBytes("1_9"));'" 118356052,10993350,Windows 11 ISO官方镜像:一体包含3个版本,"['Windows', '操作系统', '镜像', '软件安装']
摘要由CSDN通过智能技术生成

hbase据我目前的了解来看 《查询》方面的最大优势是根据rowkey 进行查询,然后结合map/reduce 运算效率非常高,但是如果牵扯到表关联查询,涉及到列簇中的列时,因为没有索引效率就变的非常低下,所以我这采用了组合索引(组合rowkey)方式来解决这个问题,下面采用简单的例子来说明如何创建,及创建组合rowkey时需要注意的问题。


关系数据库用户表:user

user_id           name

1                       raymond1

2                       raymond2

3                       raymond3


关系数据库用户文章列表ariticle:

article_id         content                user_id

1                       有才                      1

2                       帅哥                      1

3                       奥特man              2

4                       no凹凸man         2


最简单的一个业务需求:查询出某个用户发表所有文章

在关系型数据库解决非常简单,在article表的user_id创建索引,大数据量下效率也没问题,但是hbase下如果按照这个结构,创建article表

article_id 作为rowkey,user_id作为列簇中的列,这时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值