Hbase的rowkey設計

HBase的rowKey設計技巧

一、設計宗旨與目標

主要目的就是針對特定的業務模型,按照rowKey進行預分區設計,使以後面加入的數據可以儘量的分散於不一樣的rowKey中。好比複合RowKey。spa

做用: 一條數據的惟一標識就是rowkey,那麼這條數據存儲於哪一個分區,取決於rowkey處於哪一個一個預分區的區間內,設計rowkey的主要目的 ,就是讓數據均勻的分佈於全部的region中,在必定程度上防止數據傾.設計

 

二、設計方式案例

2.一、案例一:生成隨機數、hash、散列值

好比:3d

本來rowKey爲1001的,MD5後變成:b8c37e33defde51cf91e1e03e51657da字符串

本來rowKey爲3001的,MD5後變成:908c9a564a86426585b29f5335b619bchash

本來rowKey爲5001的,MD5後變成:03b264c595403666634ac75d828439bcio

在作此操做以前,通常咱們會選擇從數據集中抽取樣本,來決定什麼樣的rowKey來Hash後做爲每一個分區的臨界值。隨機數

2.二、案例二:字符串反轉

好比:技巧

20170524000001轉成10000042507102數據

20170524000002轉成20000042507102co

這樣也能夠在必定程度上散列逐步put進來的數據。

2.三、案例三:字符串拼接

好比:

20170524000001_a12e

20170524000001_93i7

相關文章
相關標籤/搜索