HBase java 開發

HBase 列族 定義:算法

參考 http://blog.csdn.net/qq_20641565/article/details/56486121緩存

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);
相關文章
相關標籤/搜索