在create乙個表時如果不指定預分配region,則缺省會先分配乙個region,這樣在大資料並行載入時效能比較低,因為所有的資料都往乙個region灌入,容易引起單節點負載公升高,從而影響入庫效能,乙個好的方法時在建立表時預先分配數個region。方法有兩種,主要針對不同版本可供選擇。
1.使用regionsplitter方法,主要針對hbase-0.90.x版本
a.首先使用regionsplitter建表,預分配region,例如建立乙個poidb表,列簇為info,預分配9個region,
hbase org.apache.hadoop.hbase.util.regionsplitter -c 9 -f info poidb
b.修改建表引數(可選)
最後enable 'poidb'
2.使用hbase shell建表引數,真多0.94.x版本
0.94版本可以直接在建表時直接使用預分配regions:
Hbase 表預分割槽 手動分割槽
預設情況下,在建立hbase表的時候會自動建立乙個region分割槽,當匯入資料的時候,所有的hbase客戶端都向這乙個region寫資料,直到這個region足夠大了才進行切分。一種可以加快批量寫入速度的方法是通過預先建立一些空的regions,這樣當資料寫入hbase時,會按照region分割槽...
HBase預分割槽
hbase提供了預分割槽功能,即使用者可以在建立表的時候對錶按照一定的規則分割槽。hbase表在剛剛被建立時,只有1個分割槽 region 當乙個region過大 達到hbase.hregion.max.filesize屬性中定義的閾值,預設10gb 時,表將會進行split,為2個分割槽。表在進行...
HBase預分割槽 UniformSplit
如果某個hbase的表查詢只是以隨機查詢為主,可以用uniformsplit的方式進行,它是按照原始byte值 從0x00 0xff 右邊以00填充。以這種方式分割槽的表在插入的時候需要對rowkey進行乙個技巧性的改造,比如原來的rowkey為rawstr,則需要對其取hashcode,然後進行按...