Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public boolean createk(String tblName, StringArrayList tableOptions,
- ByteArrayList beginEndKeys)
- throws IOException, MasterNotRunningException {
- logger.debug("HBaseClient.create(" + tblName + ") called.");
- String trueStr = "TRUE";
- cleanupCache(tblName);
- HTableDescriptor desc = new HTableDescriptor(tblName);
- HColumnDescriptor colDesc = new HColumnDescriptor(tableOptions.get(HBASE_NAME));
- for (int i = 0; i < tableOptions.size(); i++) {
- if (i == HBASE_NAME) continue ;
- if ((i != HBASE_MAX_VERSIONS) && (tableOptions.get(i).isEmpty())) continue ;
- switch (i) {
- case HBASE_MAX_VERSIONS:
- if (tableOptions.get(i).isEmpty())
- colDesc.setMaxVersions(1);
- else
- colDesc.setMaxVersions
- (Integer.parseInt(tableOptions.get(i)));
- break ;
- case HBASE_MIN_VERSIONS:
- colDesc.setMinVersions
- (Integer.parseInt(tableOptions.get(i)));
- break ;
- case HBASE_TTL:
- colDesc.setTimeToLive
- (Integer.parseInt(tableOptions.get(i)));
- break ;
- case HBASE_BLOCKCACHE:
- if (tableOptions.get(i).equalsIgnoreCase(trueStr))
- colDesc.setBlockCacheEnabled(true);
- else
- colDesc.setBlockCacheEnabled(false);
- break ;
- case HBASE_IN_MEMORY:
- if (tableOptions.get(i).equalsIgnoreCase(trueStr))
- colDesc.setInMemory(true);
- else
- colDesc.setInMemory(false);
- break ;
- case HBASE_COMPRESSION:
- if (tableOptions.get(i).equalsIgnoreCase("GZ"))
- colDesc.setCompressionType(Algorithm.GZ);
- else if (tableOptions.get(i).equalsIgnoreCase("LZ4"))
- colDesc.setCompressionType(Algorithm.LZ4);
- else if (tableOptions.get(i).equalsIgnoreCase("LZO"))
- colDesc.setCompressionType(Algorithm.LZO);
- else if (tableOptions.get(i).equalsIgnoreCase("NONE"))
- colDesc.setCompressionType(Algorithm.NONE);
- else if (tableOptions.get(i).equalsIgnoreCase("SNAPPY"))
- colDesc.setCompressionType(Algorithm.SNAPPY);
- break ;
- case HBASE_BLOOMFILTER:
- if (tableOptions.get(i).equalsIgnoreCase("NONE"))
- colDesc.setBloomFilterType(BloomType.NONE);
- else if (tableOptions.get(i).equalsIgnoreCase("ROW"))
- colDesc.setBloomFilterType(BloomType.ROW);
- else if (tableOptions.get(i).equalsIgnoreCase("ROWCOL"))
- colDesc.setBloomFilterType(BloomType.ROWCOL);
- break ;
- case HBASE_BLOCKSIZE:
- colDesc.setBlocksize
- (Integer.parseInt(tableOptions.get(i)));
- break ;
- case HBASE_DATA_BLOCK_ENCODING:
- if (tableOptions.get(i).equalsIgnoreCase("DIFF"))
- colDesc.setDataBlockEncoding(DataBlockEncoding.DIFF);
- else if (tableOptions.get(i).equalsIgnoreCase("FAST_DIFF"))
- colDesc.setDataBlockEncoding(DataBlockEncoding.FAST_DIFF);
- else if (tableOptions.get(i).equalsIgnoreCase("NONE"))
- colDesc.setDataBlockEncoding(DataBlockEncoding.NONE);
- else if (tableOptions.get(i).equalsIgnoreCase("PREFIX"))
- colDesc.setDataBlockEncoding(DataBlockEncoding.PREFIX);
- /* else if (tableOptions.get(i).equalsIgnoreCase("PREFIX_TREE"))
- colDesc.setDataBlockEncoding(DataBlockEncoding.PREFIX_TREE); */
- break ;
- case HBASE_CACHE_BLOOMS_ON_WRITE:
- if (tableOptions.get(i).equalsIgnoreCase(trueStr))
- colDesc.setCacheBloomsOnWrite(true);
- else
- colDesc.setCacheBloomsOnWrite(false);
- break ;
- case HBASE_CACHE_DATA_ON_WRITE:
- if (tableOptions.get(i).equalsIgnoreCase(trueStr))
- colDesc.setCacheDataOnWrite(true);
- else
- colDesc.setCacheDataOnWrite(false);
- break ;
- case HBASE_CACHE_INDEXES_ON_WRITE:
- if (tableOptions.get(i).equalsIgnoreCase(trueStr))
- colDesc.setCacheIndexesOnWrite(true);
- else
- colDesc.setCacheIndexesOnWrite(false);
- break ;
- case HBASE_COMPACT_COMPRESSION:
- if (tableOptions.get(i).equalsIgnoreCase("GZ"))
- colDesc.setCompactionCompressionType(Algorithm.GZ);
- else if (tableOptions.get(i).equalsIgnoreCase("LZ4"))
- colDesc.setCompactionCompressionType(Algorithm.LZ4);
- else if (tableOptions.get(i).equalsIgnoreCase("LZO"))
- colDesc.setCompactionCompressionType(Algorithm.LZO);
- else if (tableOptions.get(i).equalsIgnoreCase("NONE"))
- colDesc.setCompactionCompressionType(Algorithm.NONE);
- else if (tableOptions.get(i).equalsIgnoreCase("SNAPPY"))
- colDesc.setCompactionCompressionType(Algorithm.SNAPPY);
- break ;
- case HBASE_ENCODE_ON_DISK:
- if (tableOptions.get(i).equalsIgnoreCase(trueStr))
- colDesc.setEncodeOnDisk(true);
- else
- colDesc.setEncodeOnDisk(false);
- break ;
- case HBASE_EVICT_BLOCKS_ON_CLOSE:
- if (tableOptions.get(i).equalsIgnoreCase(trueStr))
- colDesc.setEvictBlocksOnClose(true);
- else
- colDesc.setEvictBlocksOnClose(false);
- break ;
- case HBASE_KEEP_DELETED_CELLS:
- if (tableOptions.get(i).equalsIgnoreCase(trueStr))
- colDesc.setKeepDeletedCells(true);
- else
- colDesc.setKeepDeletedCells(false);
- break ;
- case HBASE_REPLICATION_SCOPE:
- colDesc.setScope
- (Integer.parseInt(tableOptions.get(i)));
- break ;
- case HBASE_MAX_FILESIZE:
- desc.setMaxFileSize
- (Long.parseLong(tableOptions.get(i)));
- break ;
- case HBASE_COMPACT:
- // Available in HBase 0.97
- /* if (tableOptions.get(i).equalsIgnoreCase(trueStr))
- desc.setCompactionEnabled(true);
- else
- desc.setCompactionEnabled(false); */
- break ;
- case HBASE_DURABILITY:
- // Available in HBase 0.97
- /* if (tableOptions.get(i).equalsIgnoreCase("ASYNC_WAL"))
- desc.setDurability(Durability.ASYNC_WAL);
- else if (tableOptions.get(i).equalsIgnoreCase("FSYNC_WAL"))
- desc.setDurability(Durability.FSYNC_WAL);
- else if (tableOptions.get(i).equalsIgnoreCase("SKIP_WAL"))
- desc.setDurability(Durability.SKIP_WAL);
- else if (tableOptions.get(i).equalsIgnoreCase("SYNC_WAL"))
- desc.setDurability(Durability.SYNC_WAL);
- else if (tableOptions.get(i).equalsIgnoreCase("USE_DEFAULT"))
- desc.setDurability(Durability.USE_DEFAULT); */
- break ;
- case HBASE_MEMSTORE_FLUSH_SIZE:
- desc.setMemStoreFlushSize
- (Long.parseLong(tableOptions.get(i)));
- break ;
- default:
- break;
- }
- }
- desc.addFamily(colDesc);
- HBaseAdmin admin = new HBaseAdmin(config);
- byte[][] keys = new byte[beginEndKeys.size()][];
- for (int i = 0; i < beginEndKeys.size(); i++)
- {
- keys[i] = beginEndKeys.get(i);
- }
- if (beginEndKeys.size() == 0)
- admin.createTable(desc);
- else
- admin.createTable(desc, keys);
- admin.close();
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement