創建HBASE數據庫時候不得不注意的幾處設置

[b]系統相關屬性設置:[/b]
HTableDescriptor tableDesc = new HTableDescriptor("test");
//日誌flush的時候是同步寫,還是異步寫
tableDesc.setDurability(Durability.SYNC_WAL);
//MemStore大小 tableDesc.setMemStoreFlushSize(256*1024*1024);
HColumnDescriptor colDesc = new HColumnDescriptor("f");
//塊緩存,保存着每個HFile數據塊的startKey colDesc.setBlockCacheEnabled(true);
//塊的大小,默認值是65536 //加載到內存當中的數據塊越小,隨機查找性能更好,越大,連續讀性能更好
colDesc.setBlocksize(64*1024);
//bloom過濾器,有ROW和ROWCOL,ROWCOL除了過濾ROW還要過濾列族 colDesc.setBloomFilterType(BloomType.ROW);
//寫的時候緩存bloom
colDesc.setCacheBloomsOnWrite(true);
//寫的時候緩存索引
colDesc.setCacheIndexesOnWrite(true);      
//存儲的時候使用壓縮算法    
colDesc.setCompressionType(Algorithm.SNAPPY);
//進行compaction的時候使用壓縮算法 colDesc.setCompactionCompressionType(Algorithm.SNAPPY);
//壓縮內存和存儲的數據,區別於Snappy colDesc.setDataBlockEncoding(DataBlockEncoding.PREFIX);
//寫入硬盤的時候是否進行編碼
colDesc.setEncodeOnDisk(true);
//關閉的時候,是否剔除緩存的塊
colDesc.setEvictBlocksOnClose(true);
//是否保存那些已經刪除掉的
kv colDesc.setKeepDeletedCells(false);
//讓數據塊緩存在LRU緩存裏面有更高的優先級
colDesc.setInMemory(true);
//最大最小版本 colDesc.setMaxVersions(3);
colDesc.setMinVersions(1);
//集羣間複製的時候,如果被設置成REPLICATION_SCOPE_LOCAL就不能被複制了 colDesc.setScope(HConstants.REPLICATION_SCOPE_GLOBAL);
//生存時間 colDesc.setTimeToLive(18000);
tableDesc.addFamily(colDesc);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章