美文网首页
Hbase rowkey 设计

Hbase rowkey 设计

作者: Seo_sir | 来源:发表于2019-10-17 17:07 被阅读0次
  1. rowkey保证唯一
    rowkey类似于数据库中的主键,可以是一个字段或者多个字段拼接而成
    rowkey相同的记录被看作是同一条记录的不同版本,查询会返回最新版本。

  2. HBase查询方式分为两种:

  • 完整rowkey查询
  • 根据rowkey范围查找

select * from table where '123' < rowkey <'123456'
rowkey左侧的值需要已知。

如何实现复杂查询:

1.在建一张表作为索引表,实现双写
2使用filter,在服务端过滤掉不需要的数据
3 使用二级索引
4 如何实现倒序(新的数据排在前面,如:order by orderTime desc):
使用反向scan:scan.setReverse(true)
数据倒序:
[hostname][log-event][timestamp] -> [hostname][log-event][Long.MAX_Value -
timestamp]

3.散列

md5:
[userId][orderid] -> [md5(userId).subStr(0,4)][userId][orderid]
反转:
[userid][orderid] -> [reverse(userid)][orderid]
取模:
[timestamp][hostname][log-event] -> [bucket][timestamp][hostname][log-event]
long bucket = timestamp % num
增加随机数:
[userId][orderid] -> [userId][orderid][random(100)]

4.短rowkey

1.long或int代替String
2 使用编码代替名称

相关文章

  • Hbase创建前缀布隆过滤器

    HBASE如何提升根据rowkey前缀扫描? 如果rowkey设计为: rowkey= #

  • HBase-interview-questions

    一 HBase存储结构 HBase结构图示 二 rowkey设计原则 1️⃣ rowkey长度原则 : 建议越短越...

  • Hbase 入门

    Hbase简介 参考:Hbase技术详细学习笔记 如何合理的设计HBase RowKey? Hbase是分布式、面...

  • HBase框架基础(五)

    * HBase框架基础(五) 本节主要介绍HBase中关于分区的一些知识。 * HBase的RowKey设计 我们...

  • Hbase rowkey设计

    hbase的rowkey设计决定了数据的分区和查询的方式,是使用hbase前一定要想清楚的,以下简单列举了设计hb...

  • hbase rowkey设计

    如果是随机访问,需要避免热点key都落到少数region上,需要打散,比如加上时间戳等随机数 但是如果经常需要扫描...

  • Hbase rowkey设计

    rowkey长度原则 rowkey是一个二进制码流,可以是任意字符串,最大长度 64kb ,实际应用中一般为10-...

  • Hbase rowkey 设计

    rowkey保证唯一rowkey类似于数据库中的主键,可以是一个字段或者多个字段拼接而成rowkey相同的记录被看...

  • Hbase rowKey 设计与预分区建表

    Hbase RowKey 设计 使用Spark或通过REST/API 方式存取Hbase,性能影响最大的因素在于H...

  • HBASE中column family的设计,rowkey的设计

    HBASE中column family的设计,rowkey的设计,以及row key的设计原则问题原创道法—自然 ...

网友评论

      本文标题:Hbase rowkey 设计

      本文链接:https://www.haomeiwen.com/subject/ielvmctx.html