系统相关属性设置:
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);
已有 0 人发表留言,猛击->> 这里<<-参与讨论
ITeye推荐