您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Hbase如何排序和比較大小的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
rowkey是行的主鍵,而且hbase只能用個rowkey,或者一個rowkey范圍即scan來查找數據。所以 rowkey的設計是至關重要的,關系到你應用層的查詢效率。我們知道,rowkey是以字典順序排序的。而存儲的字節碼,字典排序,我們知道,如果是字 母,那就是字母的順序,比如,有兩個rowkey,rowkey1:aaa222,rowkey2:bbb111,那么rowkey1是排在 rowkey2前面的,因為按字典,a排在b前面,如果rowkey2的第一位也是a,那么就根據第二位來比較,如果還相同,則比較第三為,后面同樣。這 個理解了,我們在根據rowkey范圍查詢的時候,我們一般是知道startRowkey,如果我們通過scan只傳startRowKey : d開頭的,那么查詢的是所有比d大的都查了,而我們只需要d開頭的數據,那就要通過endRowKey來限制。我們可以通過設定endRowKey為:d 開頭,后面的根據你的rowkey組合來設定,一般是加比startKey大一位。比如說rowkey設計為:用戶ID-日期,那么查某個用戶某天的數 據,startKEY為3231-20121212,endKey為:3231+201213,那么你查到的就是用戶為3231在20121212這一天 的數據。
column key
column key是rowkey之后,數據按rowkey字典排序后,如果rowkey相同,則是根據column key來排序的,也是按字典排序。
我們在設計table的時候要學會利用這一點。比如我們的收件箱。我們有時候需要按主題排序,那我們就可以把主題這設置為我們的column key,即設計為columnFamily+主題.,這樣的設計。
timestamp
timestamp 時間戳,是第三維,這是個按降序排序的,即最新的數據排在最前面
hbase里比較大小也是按字典來比較的,在hbase里9>800,所以我們比較大小的時候要注意補零,將數字長度一致
感謝各位的閱讀!關于“Hbase如何排序和比較大小”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。