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