hbase提供了預分割槽功能,即使用者可以在建立表的時候對錶按照一定的規則分割槽。
hbase表在剛剛被建立時,只有1個分割槽(region),當乙個region過大(達到hbase.hregion.max.filesize屬性中定義的閾值,預設10gb)時,表將會進行split,**為2個分割槽。表在進行split的時候,會耗費大量的資源,頻繁的分割槽對hbase的效能有巨大的影響。
減少由於region split帶來的資源消耗。從而提高hbase的效能。
如何預分割槽?
見原部落格
HBase預分割槽 UniformSplit
如果某個hbase的表查詢只是以隨機查詢為主,可以用uniformsplit的方式進行,它是按照原始byte值 從0x00 0xff 右邊以00填充。以這種方式分割槽的表在插入的時候需要對rowkey進行乙個技巧性的改造,比如原來的rowkey為rawstr,則需要對其取hashcode,然後進行按...
hbase預分割槽總結
如果知道hbase資料表的key的分布情況,就可以在建表的時候對hbase進行region的預分割槽。這樣做的好處是防止大資料量插入的熱點問題,提高資料插入的效率。1.規劃hbase預分割槽 首先就是要想明白資料的key是如何分布的,然後規劃一下要分成多少region,每個region的startk...
hbase預分割槽問題
通常hbase會自動處理region拆分,當region的大小到達一定閾值後,region將被拆分成兩個,之後在兩個region都能繼續增長資料。然而在這個過程當中,會出現兩個問題 第一點,就是我們所說的熱點問題,資料會繼續往乙個region中寫,出現寫熱點問題 第二點,則是拆分合併風暴,當使用者的...