天天看點

Hadoop HBase概念學習系列之HBase表的一些設定(強烈推薦好好領悟)(十三)

  

  壓縮格式:預設壓縮格式是NONE。可選值有GZ、LZO、SNAPPY。

  版本數:HBase預設定義為3個版本。

  以秒為機關的存活時間TTL:使用對象是行中的列簇,一旦達到過期時間,HBase會删除這些行。

  快大小:HBase預設的塊大小是64KB,不同于HDFS預設64MB的塊大小。原因是HBase需要支援随機通路。一旦找到了行鍵所在的塊,接下來就會定位對應的單元格。使用64KB大小的塊掃描速度顯然優于64MB大小的塊。

  記憶體模式:預設值是false。如果設定為true,HBase會嘗試将整個列簇儲存在記憶體中。隻有在需要儲存時才會持久化寫入磁盤。但是在運作時HBase會嘗試将整張表加載到記憶體裡。

  塊緩存:預設值是true。塊緩存是記憶體存儲,HBase使用塊緩存将最近使用的塊加載到記憶體中。塊緩存會根據“最近沒有使用”(LRU)的規則删除塊資料。  

  布隆過濾:布隆過濾是一種空間高效的機率資料結構,它能檢測元素(行鍵,或行鍵與列辨別的結合)“确定不”存在于表中,或元素“可能”存在于表中。預設值是NONE。可以設定為ROW,表示使用行鍵級的布隆過濾,也可以設定為ROWCOL,表示使用行鍵與列辨別級别的布隆過濾。

(1)一般不建議設計多個列族。

  具體原因如下,假如HBase表的表設定兩個兩個列族,若已一個列族1000萬行,另一個列族100行。當一個要求region分裂時候,會導緻100行的列會同樣分布到多個region中。這樣就出現基數問題,會導緻掃描列族A的性能低下。某個列族在flush的時候,它鄰近的列族也會因關聯效應出發flush,最終導緻系統産生更多的I/O。

(2)資料塊緩存配置

  如果經常順序通路或者很少通路,可以關閉列族的緩存,讓BLOCKCACHE 參數設定false,列族緩存預設打開。

(3)激進緩存配置

  可以選擇一個列族賦予更高的緩存,該參數IN_MEMORY 設定true。列族預設的關閉的。

(4)布隆過濾器(BLOOMFILTER)設定

  減少硬碟讀取資料帶來的開銷。對存儲的資料塊做反向測試,占用額外的空間。

(5)生産時間配置

  超過這個時間設定的就會在下一次大合并中被删除。TTL =>"18000"

(6)列族壓縮

  壓縮可以節省空間,讀寫資料會增加CPU的使用率 LZO,SNAPPY,GZIP

(7)單元時間版本

  預設為1個版本,可以通過指定多個版本,來儲存曆史資料

轉載于:https://www.cnblogs.com/zlslch/p/6140264.html