HBase中的RowKey


一、什么是RowKey?

1.增删改查的过程中RowKey就充当了主键的作用,它和众多的nosql数据库一样,可以唯一的标识一行记录。
2.RowKey行键 (RowKey)可以是任意字符串,只要保证这个字符串不重复就可以了。
3.由于数据按照RowKey的字典序(byte order)排序存储,因此HBase中的数据永远都是有序的。

 

二、RowKey的使用方式:

• get:通过指定单个RowKey来获取对应的唯一一条记录;    

         1 精确查询某一个 RowKey 中存储的内容:get ‘表的名称‘,’RowKey‘
         2 精确查询某一个 RowKey 中的一个单元格中存储的内容。语法:get ‘表的名称‘,’RowKey‘,‘列名’

• like:通过RowKey的range来进行匹配;

• scan:通过设置startRow和stopRow参数来进行范围匹配(注意:如果不设置就是全表扫描)。

            步骤 1 查询 RowKey 从“123002”(RowKey)开始,然后读两行的数据:

                          > scan '表名',{STARTROW=>'123002','LIMIT'=>2

            步骤 2 查询 RowKey 从“123001”开始,然后读取两行,读取列名称为 name 的单元格中存 储的信息:

                         > scan '表名', {STARTROW=>'123001','LIMIT'=>2,COLUMNS=>'info:name'}                                                                                                                     

三、RowKey的作用可以归纳如下两点:
      Hbase在读写数据时需要通过RowKey找到对应的Region;
      MemStore和HFile中的数据都是按照 RowKey 的字典序排序。
      在HBase中,一个Region就相当于一个数据分片,每个Region都有StartRowKey和StopRowKey(用来表示 Region存储的RowKey的范围),HBase表里面的数据是按照RowKey来分散存储到不同的Region           里面的。

       而将数据记录均衡的分散到不同的Region中避免热点现象就是RowKey最主要的作用。

原文链接:https://blog.csdn.net/qq_26803795/article/details/105994960


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM