应该如何设计行键,使带有〜10的行最后?

您以这种方式看到扫描输出,因为HBase中的行键保持排序为lexicographically,而不考虑插入顺序.这意味着它们根据其字符串表示进行排序.请记住,HBase中的行键被视为具有字符串表示形式的字节数组.表中最先显示的是最低的行键.这就是为什么10出现在2之前,依此类推.请参阅此page上的章节了解更多信息.

当您使用零填充整数时,它们的自然排序保持不变,同时按字典排序,这就是为什么您看到扫描顺序与插入数据的顺序相同.为此,您可以按照@shutty的建议设计您的行键.

我正在寻找一些推荐的方法或更流行的设计HBase行键的方式.

为了设计好的设计,需要遵循一些一般的指导方针:

>保持行键尽可能的小.

>避免使用单调增加的行键,如时间戳等.这是一个差的shecma设计,并导致RegionServer热点.如果你不能避免使用某种东西,就像哈希或盐渍,以避免热点.

>尽可能避免使用字符串作为行键.与其整数或长表示相比,数字的字符串表示需要更多的字节.例如:长为8字节.您可以将这8个字节中的无符号数字存储为18,446,744,073,709,551,615.如果您将此号码存储为字符串 – 假设每个字符为一个字节,则需要将近3个字节.

>使用一些机制,如散列,以便统一分配行,以防您的区域不均匀加载.您也可以创建预先拆分的表来实现此目的.

有关rowkey设计的更多信息,请参阅link.

HTH

hbase动态更改行键设计_nosql – HBase行键设计,用于单调递增键相关推荐

  1. hbase动态更改行键设计_Hadoop HBase概念学习系列之优秀行键设计(十六)

    尽量最小化行名和列名的字段大小 在HBase中,值是作为一个单元(Cell)保存在系统的中的,要定位一个单元,需要行,列名和时间戳.通常情况下,如果你的行和列的名字要是太大(甚至比value的大小还要 ...

  2. hbase动态更改行键设计_谈笑间学会Hbase Rowkey设计

    谈笑间学会-Hbase Rowkey设计 1.为什么Rowkey这么重要 1.1.Rowkey是什么 类似于MySQL.Oracle中的主键,用于标示唯一的行 完全是由用户指定的一串不重复的字符串: ...

  3. HBase建表高级属性,hbase应用案例看行键设计,HBase和mapreduce结合,从Hbase中读取数据、分析,写入hdfs,从hdfs中读取数据写入Hbase,协处理器和二级索引

    1. Hbase高级应用 1.1建表高级属性 下面几个shell 命令在hbase操作中可以起到很到的作用,且主要体现在建表的过程中,看下面几个create 属性 1. BLOOMFILTER 默认是 ...

  4. hbase 二进制数据写入_分布式数据库HBase的架构设计详解(有彩蛋)

    原标题:分布式数据库HBase的架构设计详解(有彩蛋) 本文根据DBAplus社群第99期线上分享整理而成,文末还有好书送哦~ 讲师介绍 陈鸿威 云财经大数据CTO 曾任百度高级工程师,现主持设计开发 ...

  5. 【Hbase】(十一)详解 HBase 表的设计原则

    文章目录 一.建表高级属性 1. BLOOMFILTER 2. VERSIONS 3. COMPRESSION 4. TTL 5. alter 6. describe/desc 7. disable_ ...

  6. 【HBase】HBase 行健设计

    文章目录 一.RowKey 的作用 1.1.RowKey 在查询中的作用 1.2.RowKey 在 Region 中的作用 二.RowKey 应该具备的特性 2.1.字符串类型 2.2.有明确意义 2 ...

  7. hbase行健设计原则

    行健的设计问题 行健的热点问题 是由于行健相似.连续且数据量过大操作成单region的数据量过大,进而影响读写效率 行健应该尽量的随机.不要出现连续行健. 常见的行健设计就是,比如手机号码倒置+时间戳 ...

  8. hbase hyperbase 区别_大数据之HBase的几个常规性问题

    本文主要针对对HBase不了解的人.主要想基于个人的理解回答以下几个问题: 什么是HBase? 何时用HBase? 与Hive.Pig的区别? HBase的结构 为何HBase速度很快? HBase常 ...

  9. hbase 使用lzo_带你快速上手HBase | HBase列族优化

    随着大数据的越来越普及,HBase也变得越来越流行.使用HBase并不困难,但是如何用好HBase,这确是一个难点.为了合理地使用HBase,尽可能发挥HBase的功能,我们需要根据不同的场景对HBa ...

  10. hbase学习教程(一):hbase的概述和hbase架构及基本组件

    一.hbase的概述 概述 HBase是一个构建在HDFS上的分布式列存储系统: HBase是基于Google BigTable模型开发的,典型的key/value系统: HBase是Apache H ...

最新文章

  1. 编程练习:Matlab,图片保存
  2. Python中的startswith和endswith函数使用实例
  3. 集合(Collection和Map)
  4. Linux 基础知识(九)
  5. 面试官 | 如何在 Spring Boot 中进行参数校验?
  6. python分支结构说课_Python_3.8平台上的分支结构(模块.类.函数)_11
  7. ffmpeg合并音频(转)
  8. c++ string 回文串_第33期:上海自来水来自海上,回文字符串验证!
  9. excel的主要功能_勤哲EXCEL服务器软件做装饰企业管理系统ERP
  10. 普林斯顿微积分读本 大纲与重点 (by zzd)
  11. 高德地图api汇总(二)插件的使用
  12. 在新的固态硬盘中安装windows系统(旧固态硬盘已安装ubuntu系统)
  13. KVM 多电脑切换器(KVM Switch)
  14. 微软的学术可视化搜索
  15. 庆山《得未曾有》摘录
  16. Python性能分析优化及测试
  17. UBC计算机专业好进吗,硕士转专业逆袭——UBC计算机
  18. leetcode算法练习 JavaScript实现
  19. 零基础想要学习前端,却无从下手?其实你就差一套这样的web前端学习路线
  20. pytorch embedding层详解(从原理到实战)

热门文章

  1. Windows Phone 项目实战之账户助手
  2. sqlserver中系统库的作用
  3. 5.性能之巅 洞悉系统、企业与云计算 --- 应用程序
  4. 4.RabbitMQ实战 --- 解决Rabbit相关问题:编码与模式,RPC
  5. 17.nginx 的 rewrite 功能
  6. 7.运输层---UDP
  7. 初学django框架
  8. vim创建程序文件自动添加头部注释/自动文件头注释与模板定义
  9. DOM.getBoundingClientRect()
  10. WebAssembly 介绍